您的位置:首页 > 其它

HDU 1219(2013.9.21周赛B题:统计字母)

2013-09-22 09:33 127 查看
水题……不过刚开始TLE了,后面直接一个一个字母输入,同时就处理,这效率快多了,还怕TLE???哈哈……如果一行一行的输入的话,循环里面不能直接用i<strlen(str),因为每次都要判断一次,计算一次,所以肯定TLE啦,现在终于知道了,在循环外面int lenth=strlen(str)这样就行了。不过我还是采取了一个一个字母输入,这效率更高……
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    char a;
    int b[27]={0},i;
    while(scanf("%c",&a)!=EOF)
    {
        if(a>='a'&&a<='z') b[a-'a']++;
        if(a=='\n')
        {
            for(i=0;i<26;i++)
                printf("%c:%d\n",'a'+i,b[i]);
            cout<<endl;
            for(i=0;i<26;i++)
                b[i]=0;
        }
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: