输人一段含西文字符和中文字符的正文 ,统计字数、 字符数和行数。字是指一个中文字符或一个西文字符串(由空白符分隔);字符是指一个西文字符或一个中文字 符;空白符是指空格或回车或水平制表Tab
#include <stdio.h>
int main()
{
char c;
int cs = 0,words=0,rows=0;
int fs = 0,isc = 0;
while((c=getchar())!=EOF)
{
if(rows==0)
rows++;
if(fs==1)
{
fs=0;
continue;
}
if(c == ' ' || c=='\t' || c=='\n' || c<0)
{
if(c<0)
words++;
if(isc == 1)
words++;
isc = 0;
if(c < 0)
{
cs++;
fs = 1;
}
if(c=='\n')
{
rows++;
}
continue;
}
cs++;
isc = 1;
fs = 0;
}
if(isc==1)
words++;
printf("字数:%d,字符数:%d,行数:%d\n",words,cs,rows);
return 0;
}
注意点:中文占3个字节;空格等分隔字符可能连续出现;遇到中文时,也相当于时前面英文串的分隔符
本文介绍了一个C语言程序,用于统计输入文本中汉字、西文字符、行数,特别考虑了中文占用3字节和空格分隔符的影响。

719

被折叠的 条评论
为什么被折叠?



