1、从终端中输入一串字符,求出空格的个数
include <stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int i,j;
i=j=0;
char a[50]="";
gets(a);
for(i=0;i<strlen(a);i++)
{
if(a[i]==32)
{
j++;
}
}
printf("空格数为:%d\n",j);
return 0;
}
2、删除字符串中的空格,要求只用一个数组 :“aa_b_cc” --->结果 “aabcc”
#include <stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int i,temp;
i=temp=0;
int j;
char a[50]="";
gets(a);
for(i=0;i<strlen(a);i++)
{
if (a[i]==32)
{
for(j=i;j<strlen(a);j++)
{
if(a[j]!=32)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
break;
}
}
}
}
for(i=0;i<strlen(a);i++)
{
if(a[i]==32)
{
a[i]=a[strlen(a)];
break;
}
}
puts(a);
int spa=0; //验证是否有空格
for(i=0;i<strlen(a);i++)
{
if(a[i]==32)
{
spa++;
}
}
printf("空格数为:%d\n",spa);
return 0;
}
3、完成strcmp和strcat函数,再独立完成strlen和strcpy函数
#include <stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
char a[12]="hello world";
char a1[50]={'h','e','l','l','o',' ','w','o','r','l','d','\0'};
char b[20]="";
int i=0;
int j=0;
/* while (a[i]!='\0') //strcpy(b,a)
{
b[i]=a[i] ;
i++;
}
puts(b); */
/* while(a[i]!='\0') //strlen(a)
{
j++;
i++;
}
printf("%d\n",j); */
/* int count=0; // strcmp(a,c)
char c[20]="";
printf("请输入被比较对象c: ");
gets(c);
puts(c);
for (i=0;i<20;i++ )
{
if(a[i]!=c[i])
{
printf("%d\n",a[i]-c[i]);
break;
}
else if(a[i]=c[i])
{
count++;
}
else if(count>=strlen(a))
{
printf("0\n");
break;
}
} */
char a2[30];
gets(a2); //strcat(a1,a2)
int p=strlen(a1);
for(i=p;i<=strlen(a2)+p;i++)
{
a1[i]=a2[i-p];
}
puts(a1);
return 0;
}