C语言编程问题谢谢帮忙...

有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格,以及其他字符的个数,我想请大家帮忙解释一下我迷糊的地方谢谢...#inc... 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格,以及其他字符的个数,我想请大家帮忙解释一下我迷糊的地方谢谢...
#include<stdio.h>
void main()
{
int i,j,da,xiao,shu,kong,qita;
char text[3][80];
da=xiao=shu=kong=qita=0;
for(i=0;i<3;i++)
{
printf("\nplease input line %d:\n",i+1);
gets(text[i]);/*输入第一行后敲空格后执行到哪一句返回?是下面一句吗?
for(j=0;j<80&&text[i][j]!='\0';j++)/*这一句是赋值句还是?请帮忙详解这句话的含义和执行过程!谢谢*/
{
if(text[i][j]>='A'&&text[i][j]<='Z')
da++;
else
if(text[i][j]>='a'&&text[i][j]<='z')
xiao++;
else
if(text[i][j]>='0'&&text[i][j]<='9')
shu++;
else
if(text[i][j]==' ')
kong++;
else
qita++;
}
}
printf("大写字母:%d\n",da);
printf("小写字母:%d\n",xiao);
printf("数字 :%d\n",shu);
printf("空格 :%d\n",kong);
printf("其他字符:%d\n",qita);
}
展开
 我来答
lk31625
2009-08-18
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
一、
1.输入第一行后,应该按回车键enter完成输入,而不是按空格键。因为对于
gets函数“空格”也算输入的字符,其对应的ASC码为32。
2.输入完成按下回键之后一直执行到 qita++; 再进行下一次循环,即接着输 入第行二字符再判断从text[i][0]到text[i][j]分别是属于大字字母、小字字母、数字等等。
二、for(j=0;j<80&&text[i][j]!='\0';j++) 这是一个循环语句,应该结合它的循环体来理解。其功能是:循环判断text[i][j] 也就是判断第i行的第j个字符是属于五个类别(大写、小写、数字、空格、其他字符)中的哪一种,并让代表相应的类别的变量自增。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式