重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联建站专注于礼县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供礼县营销型网站建设,礼县网站制作、礼县网页设计、礼县网站官网定制、重庆小程序开发公司服务,打造礼县网络公司原创品牌,更为您提供礼县网站排名全网营销落地服务。
#include string.h
void delch(char s[], char ch)
{
int i, j;
for (i = strlen(s); i = 0; i--)
if (s[i] == ch)
break;
for (j = i ; s[j] != '\0'; j++)//==============
s[j] = s[j+1];//================
//s[j] = '\0';
}
void main()
{
char s[] = "##Chinese#";
delch(s, 'e');
puts(s);
}
#include stdio.h
int main(){
void Total(char st[],int b[]);
char st[20];
int b[4]={0,0,0,0};
scanf("%s",st);
Total(st,b);
printf("字符串长度:%d,字母个数:%d,数字个数:%d,其他字符个数:%d\n",b[0],b[1],b[2],b[3]);
return 0;
}
void Total(char st[],int b[]){
int i;
while(st[i]!='\0'){
b[0]++;
if((st[i]='A' st[i]='Z')||(st[i]='a' st[i]='z')){
b[1]++;
}else if(st[i]='0' st[i]='9'){
b[2]++;
}else{
b[3]++;
}
i++;
}
}
#includestdio.h
#includestring.h
void trim1(char *a)
{
int n;
n=strlen(a);
for(;n0;n--) //去除a后的空格;
{
if(a[n-1]==' ')
a[n-1]='\0';
else
break;
}
strrev(a); //去除a前的空格;先翻转字符,处理后再翻转;
n=strlen(a);
for(;n0;n--) //去除a后的空格;
{
if(a[n-1]==' ')
a[n-1]='\0';
else
break;
}
strrev(a);
}
void trim2(char *a)
{
char s[10000]; //注意这里的数组长度,要保证数组不越界!!!
int n,i,d=0;
n=strlen(a);
for(i=0;in;i++) //去空格;
{
if(a[i]!=' ')
s[d++]=a[i];
}
for(i=0;id;i++) //把处理好的字符复制到a中;
a[i]=s[i];
a[i]='\0';
}
void rev(char *a)
{
int n,i,m;
char s;
n=strlen(a);
for(i=0,m=n/2;im;i++)
{
s=a[i];
a[i]=a[n-i-1];
a[n-i]=s;
}
}
int main ()
{
char a[]=" a b c dd e",b[]=" a b c dd e";
trim1(a);
puts(a);
trim2(b);
puts(b);
rev(a);
puts(a);
return 0;
}
vc测试正确,不过能力有限,不会优化;
#include stdio.h
#define MAXN 100
typedef enum { fail, success } status;
typedef enum { false, true} boolean;
char s[MAXN], s1[MAXN], s2[MAXN];
void scopy(char s1[],char s2[])
{int i=0;
while(s2[i]!='\0')
{ s1[i]=s2[i];
i++;
}
s1[i]='\0';
}
int strlen(char s[] )
{ int i;
for (i=0; s[i]!='\0'; i++ );
return (i);
}
status strcat(char s1[],char s2[])
{int i, j, k;
if ((i=strlen (s1)) + (j=strlen (s2) )=MAXN)
return (fail);
for (k=0; k=j; k++ )
s1[i+k]=s2[k];
return (success);
}
status strins(char s1[], int i, char s2[ ])
{int m, n, k;
if (i0||i(m=strlen(s1))||m+(n=strlen(s2))MAXN)
return(fail);
if(m+n=MAXN){
for(k=m+n-1;k=n+i;k--)
s1[k]=s1[k-n];
for(k=0;kn;k++)s1[k+i]=s2[k];
m=m+n;
}
else if(k+n=MAXN){
for(k=MAXN-1;kn+i-1;k--)s1[k]=s1[k-n];
for(k=0;kn;k++)s1[k+i]=s2[k];
m=MAXN;
}
else{
for(k=0;kMAXN-i;k++)s1[k+i]=s2[k];
m=MAXN;
}
return(success);
}
status strsub (sl, i, j, s2)
char sl[ ], s2[ ];
int i,j;
{ int m, k;
if (i0 || i= (m=strlen(sl)))
return (fail );
if (j0 || i+jm)
return (fail );
else{
for(k=0;kj;k++)s2[k]=s1[k+i];
j=strlen(s2);
return (success);
}
}
void main( )
{ int i;
i=strlen("aassddd") ;
printf("%d\n",i);
scopy(s1,"abcd");
scopy(s2,"hijkl");
printf("%s\n",s1);
printf("%s\n",s2);
strcat(s1,s2);
printf("%s\n",s1);
printf("%s\n",s2);
strins(s1,4,s2);
printf("%s\n",s1);
printf("%s\n",s2);
}
strcmp的规则是:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
strcmp(str1,str2)是str1小于str2时返回小于零的值,大于返回大于零的值,此题中t指的就是s2,B选项s1s2位置反了。D是对的。