题目: 【文本编辑器(edit)】
问题描述 文本编辑器的基本功能就是统计文章的字符数。
但是,你想实现一款高级的文本编辑器,能够统计文章里每种字母的出现次数。
给定一个仅包含大小写字母,数字,英文逗号,英文句号,空格的字符串,请求出每种字母的出现次数。
注意,'A’与’a’算同一种字母,'B’与’b’算同一种字母…
数据输入
从文件edit.in中读入数据。
输入一行一个字符串。
结果输出 输出到文件edit.out中。
输出26个数字,第 i 个数字表示第 i 个英文字母的出现次数。
输入示例
Welcome to CSP2020.
输出示例
0 0 2 0 2 0 0 0 0 0 0 1 1 0 2 1 0 0 1 1 0 0 1 0 0 0
数据范围
对于20%的数据,仅包含大小写字母。
对于40%的数据,仅包含大小写字母和数字。
对于70%的数据,不包含空格。
对于100%的数据,字符串长度<=10^5.
我的代码: 样例过了,自己造的数据过了。结果交上去每个点竟然1000多ms,还wrong answer了。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
int a[27];
char ch[100001];
int main()
{
//freopen("edit.in","r",stdin);
//freopen("edit.out","w",stdout);
gets(ch);
for(register int i=0;i<strlen(ch);i++)
{
if(ch[i]=='\0')break;
if(ch[i]<='Z'&&ch[i]>='A')
a[ch[i]-'A']++;
if(ch[i]<='z'&&ch[i]>='a')
a[ch[i]-'a']++;
}
for(register int i=0;i<26;i++)
{
printf("%d ",a[i]);
}
return 0;
}
求助,谢谢