字符数组,怎么统计各字符的个数?
/*有一篇文章,一共3行,每行80个字符,要求统计出其中的英文大小写字母、数字、空格、和其它字符的个数*/#include "stdio.h"
#include "string.h"
void main()
{
char str[3][80],tmp;
int DA,xiao,num,kong,aaa,i,j=0;
DA=0;//大写字母个数
xiao=0;//小写字母个数
num=0;//数字个数
kong=0;//空格数
aaa=0;//其它个数
for(i=0;i<3;i++)
gets(str[i]);//输入这里写的不对,但不知道怎么写,求指点
for(i=0;i<3;i++)
for(j=0;j<strlen(str[i]);j++)
{
tmp=str[i][j];
if(tmp==' ')
kong++;
if(tmp>64 && tmp<91)
DA++;
if(tmp>96 && tmp<123)
xiao++;
if(tmp>47 && tmp<58)
num++;
else
aaa++;
}
printf("文中共有大写字母:%d\n小写字母:%d\n空格:%d\n数字:%d\n其它:%d\n",DA,xiao,kong,num,aaa);
}
最后输出结果的时候,那个其它统计的不对,是怎么回事?
for(j=0;j<strlen(str[i]);j++)这一句里为什么编译器提示‘<’有误?
这个程序有没有更好的写法,我憋了半天才写出来?