注意学习字符串C 库函数 :
char *strcat(char *dest, const char *src) :
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾
strcpy(s1,s2):
strcpy函数的意思是把字符串s2拷贝到s1中,连同字符串结束标志也一同拷贝。如果s2=“china”,那么s1中存放的是china\0。
在cout<<s1时,结果是china。
strlen(str):
测试字符串的实际字符长度,不含字符串结束标志。
sizeof是个运算符,它的结果是字符串在内存中所占的字节大小,要把’\0’算进去
思路:
读入字符串并计算n值
字符串连接
输出n值
计算字符数并输出
#include <stdio.h>
#include <string.h>
int main()
{
int i,n,num,sum;
char text[40000],str[200];//text:最终字符串,str:缓冲字符串
scanf("%s",str);
n=strlen(str);//输入第一个字符串,存入缓冲字符串,并计算n值
strcat(text,str);//将str连接到text后,其实也可以用strcpy的,用处相同
for(i=2;i<=n;i++)//因为已经连接第一个了,因此循环从第二行字符开始
{
scanf("%s",str);
strcat(text,str);//输入并连接
}
printf("%d ",n);//输出n值,记住在每个输出后带上空格
for(i=0,sum=0,num='0';i<=strlen(text);i++)//从text[i]开始循环
if(num==text[i])判断这个字符是否与上一个字符相等(第一个字符与‘0’做判断)
sum++;//如果相等,sum加一
else
{
num=text[i];
printf("%d ",sum);//反之,输出sum值(带空格),并初始化num与text
sum=1;
}
return 0;
}