首页 新闻 会员 周边

有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

0
悬赏园豆:5 [已解决问题] 解决于 2016-06-28 22:26

#include<iostream>
using namespace std;
int main()
{
int i,j,daxiezimushu,xiaoxiezimushu,shuzishu,konggeshu,other;
char text[3][80];
daxiezimushu=xiaoxiezimushu=shuzishu=konggeshu=other=0;
for(i=0;i<3;i++)
{
cout<<"请输入第"<<i+1<<"行:"<<endl;
gets(text[i]);
for(j=0;j<80&&text[i][j]!='\0';j++)
{
if(text[i][j]>='A'&&text[i][j]<='Z')
{
daxiezimushu++;
}
else if(text[i][j]>='0'&&text[i][j]<='9')
{
shuzishu++;
}
else if(text[i][j]>='a'&&text[i][j]<='z')
{
xiaoxiezimushu++;
}
else if(text[i][j]=' ')
{
konggeshu++;
}
else
{
other++;
}
}
}

cout<<"大写字母个数为:"<<daxiezimushu<<endl

<<"小写字母个数为:"<<xiaoxiezimushu<<endl

<<"数字个数为:"<<shuzishu<<endl

<<"空格个数为:"<<konggeshu<<endl

<<"其他字符个数为:"<<other<<endl;

return 0;
}

 

红色字体什么意思?还有当蓝色字体写成for(i=1;i<=3;i++) for(j=1;j<=80&&text[i][j]!='\0';j++) 为什么运行不了

叮咚!!!的主页 叮咚!!! | 初学一级 | 园豆:185
提问于:2016-06-04 21:03
< >
分享
最佳答案
0

1红色字体是初始化,把所有数设为零

2数组越界了

收获园豆:5
刘宏玺 | 专家六级 |园豆:14020 | 2016-06-05 00:46
其他回答(2)
0

红色字体表示连续赋值,自右向左依次执行

蓝色字体,i和j代表的变量分别作为访问数组的角标(index),注意数组的起始位从0开始,i=3的时候访问到的是数组第四位的数据。

 

hahanonym | 园豆:1460 (小虾三级) | 2016-06-04 22:40
0

都是ASCII字符?

Yip21st | 园豆:222 (菜鸟二级) | 2016-06-04 22:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册