文章
5
粉丝
161
获赞
15
访问
19.9k
先看题干要求:统计大写A到大写Z出现在输入的字符串之中的数目。题干不难理解。再看输入输出条件,输入条件为多组输入,可以知道代码主体需要用到while循环输入,再看输出条件以及格式为大写字母,冒号,以及数量。由此敲定输出格式。由于题干没说输入的字符串多长,所以尽量不要定义一个char[?],可以用string。一些杂项了解以后,就要考虑统计个数的问题了。肯定是要从输入的字符串头开始计数,直到循环到字符串长度关于计数可以用一个int数组,一共26项,每一项都是0,代表A-Z初始个数都是0个。读取一个在相应的位置+1.上代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str;
int count[26]={0};
while(cin>>str)
{
int len=str.size();
for(int i=0;i<len;i++)
{
if(str[i]>='A'&&str[i]<='Z')
count[str[i]-'A']++;
}
for (int i = 0; i < 26; i++)
printf("%c:%d\n",'A'+i, count[i]);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发