输人一段含西文字符和中文字符的正文 ,统计字数、 字符数和行数。字是指一个中文字符或一个西文字符串(由空白符分隔);字符是指一个西文字符或一个中文字 符;空白符是指空格或回车或水平制表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个字节;空格等分隔字符可能连续出现;遇到中文时,也相当于时前面英文串的分隔符