原题: 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、文小写字母、数字、空格和其它字符的个数
代码如下 - #include <stdio.h>
- int main()
- {
- int i,j;
- int upp,low,gid,spa,oth;
- char text[3][80];
- upp=0;low=0;gid=0;spa=0;oth=0;
- for (i=0;i<3;i++)
- {
- gets(text[i]); /*text[i]表示第i行*/
- for (j=0;j<80 && text[i][j]!='\0';j++)
- {
- if (text[i][j]>='A' && text[i][j]<='Z')
- upp++;//大写字母+1
- else if (text[i][j]>='a' && text[i][j]<='z')
- low++;//小写字母+1
- else if (text[i][j]>='0' && text[i][j]<='9')
- gid++;//数字+1
- else if (text[i][j]==' ')
- spa++;//空格+1
- else oth++;//其他字符+1
- }
- }
- printf("upp=%d,low=%d,gid=%d,spa=%d,oth=%d\n",upp,low,gid,spa,oth);
- }
复制代码其中在我编译的时候提示gets()存在安全问题,那么应该用什么函数来代替呢? 另外 - for (j=0;j<80 && text[i][j]!='\0';j++)
复制代码这句怎么理解? 麻烦大虾解惑一下!
|