C语言 统计中文字符数

使用C语言编写一个程序,完成对任意一个文本文件(.txt格式)的中文字符数
统计工作,文本中不全是中文

#include<stdio.h>
void coun(char s[])
{
int i,m=0,n=0,p=0,d=0;
for(i=0;s[i]!='\0';i++)
{if(s[i]==' ')
p++;
else if((s[i]>='0')&&(s[i]<='9'))
m++;
else if((s[i]>='A')&&(s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
n++;
else d++;
}
printf("输入的字符串是:%s\n数字的个数:%d\n字母的个数:%d\n空格的个数:%d\n其它字符个数:%d\n",s,m,n,p,d);
}
int main()
{

char a[100];
gets(a);
coun(a);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-16
#include<stdio.h>
void
coun(char
s[])
{
int
i,m=0,n=0,p=0,d=0;
for(i=0;s[i]!='\0';i++)
{if(s[i]=='
')
p++;
else
if((s[i]>='0')&&(s[i]<='9'))
m++;
else
if((s[i]>='A')&&(s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
n++;
else
d++;
}
printf("输入的字符串是:%s\n数字的个数:%d\n字母的个数:%d\n空格的个数:%d\n其它字符个数:%d\n",s,m,n,p,d);
}
int
main()
{
char
a[100];
gets(a);
coun(a);
system("pause");
return
0;
}
第2个回答  2011-06-26
先学文本格式吧,看中文字符的编码是什么?
第3个回答  推荐于2016-01-31
等价类划分:
输入条件 有效等价类 无效等价类
标识符个数 (1) 1个
(2) 多个 (3) 0个
标识符字符数 (4) 1--8个 (5) 0个
(6) >8个
(7) >80个
标识符组成 (8) 字母
(9) 数字 (10) 非字母数字字符
(11) 保留字
第一个字符 (12) 字母 (13) 非字母
标识符使用 (14)先说明,再使用 (15)没说明,就使用

9个测试用例,它们覆盖了所有的等价类。
编号 输入 期望结果 覆盖等价类
1 float x,T1234567;
...
{ x = 3.414; T1234567 = 2.732;
} 正确 (1), (2), (4), (8), (9), (12), (14)
2 float ; 不正确 (3)
3 float x,; 不正确 (5)
4 float T12345678; 不正确 (6)
5 float T12345......;//多于80个字符 不正确 (7)
6 Char T$; 不正确 (10)
7 int goto; 不正确 (11)
8 float 2T; 不正确 (13)
9 float par
...
不正确 (15)
本回答被提问者采纳