
C语言求助
1..有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,及其他字符的个数。(提示:中文字符是两个字节,且数值均大于128的字符)...
1..有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,及其他字符的个数。(提示:中文字符是两个字节,且数值均大于128的字符)。
展开
3个回答
展开全部
/*经测试成功*/
#include<stdio.h>
main()
{ int i,j,a=0,b=0,c=0,d=0,e=0;
char str[3][80];
for(i=0;i<3;i++) /*这里要先对它进行初始化*/
for(j=0;j<80;j++)
str[i][j]='';
for(i=0;i<3;i++)
gets(str[i]);
for(i=0;i<3;i++)
{for(j=0;j<80;j++)
{
if(str[i][j]=='')continue;/*到这里加的东西是如果字符串结束就结束本行查找*/
if(str[i][j]>='A'&&str[i][j]<='Z')a++;
else if(str[i][j]>='a'&&str[i][j]<='z')b++;
else if(str[i][j]>='0'&&str[i][j]<='9')c++;
else if(str[i][j]==' ')d++;
else e++;
}
}
printf("%d,%d,%d,%d,%d",a,b,c,d,e);
getchar();
}
#include<stdio.h>
main()
{ int i,j,a=0,b=0,c=0,d=0,e=0;
char str[3][80];
for(i=0;i<3;i++) /*这里要先对它进行初始化*/
for(j=0;j<80;j++)
str[i][j]='';
for(i=0;i<3;i++)
gets(str[i]);
for(i=0;i<3;i++)
{for(j=0;j<80;j++)
{
if(str[i][j]=='')continue;/*到这里加的东西是如果字符串结束就结束本行查找*/
if(str[i][j]>='A'&&str[i][j]<='Z')a++;
else if(str[i][j]>='a'&&str[i][j]<='z')b++;
else if(str[i][j]>='0'&&str[i][j]<='9')c++;
else if(str[i][j]==' ')d++;
else e++;
}
}
printf("%d,%d,%d,%d,%d",a,b,c,d,e);
getchar();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你点提示吧:字符串可以看成字符型的数组Arry[2][79]。通过循环判断可以用case语句字符的大小写和中英文,然后作累加。都是通过ASCII码来判断!要注意空格。程序要自己写,才有成就感!对学习语言是很重要的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部

你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询