Deadwood_ 2017-01-01 12:23 采纳率: 0%
浏览 1146
已采纳

计算输入字母的个数,代码如下,求详细解释

int Count(int cou[]) //计算输入的字母的个数
{
char word;
char letter[27]={' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o', 'p','q','r','s','t','u','v','w','x','y','z'};
fstream SourceFile;
SourceFile.open("SourceFile.txt",ios::in);
if (!SourceFile)
{
cout<<"Can't open this file"<<endl;
}
while (!SourceFile.eof())

    {
        SourceFile.get(word);
        if (word>='A'&&word<='Z')
        {
            word=word+32;
        }
        int i=word-96;
        cou[i]++;
    }
    SourceFile.close();
    cout<<"letter"<<'\t'<<'\t'<<"频率为"<<endl;
        for (int j=1;j<=26;j++)
        {
            if (cou[j]!=0)
            {
                cout<<letter[j]<<'\t'<<'\t'<<cou[j]<<endl;
            }
        }
        cout<<"读入完事儿!"<<endl;

return 0;

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-01-01 12:37
    关注
     int Count(int cou[]) //计算输入的字母的个数
    {
    char word;
    char letter[27]={' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o', 'p','q','r','s','t','u','v','w','x','y','z'}; //纯属多余
    fstream SourceFile;
    SourceFile.open("SourceFile.txt",ios::in); 从SourceFile.txt读取
    if (!SourceFile)
    {
    cout<<"Can't open this file"<<endl;
    }
    while (!SourceFile.eof()) 循环直到文件结束
        {
            SourceFile.get(word);
            if (word>='A'&&word<='Z') //如果是大写字母,统一转换为小写
            {
                word=word+32; //32是 'a' - 'A' ascii差
            }
            int i=word-96; // 96是'a'的ascii
            cou[i]++; // cou保存你对应字母的统计数字,+1
        }
        SourceFile.close(); //关闭文件
        cout<<"letter"<<'\t'<<'\t'<<"频率为"<<endl; //输出
            for (int j=1;j<=26;j++) //依次输出a~z字符的出现频率
            {
                if (cou[j]!=0) //如果没有这个字母出现,就不输出
                {
                    cout<<letter[j]<<'\t'<<'\t'<<cou[j]<<endl; //letter[j]可以用 (char)('A' + i) 代替
                }
            }
            cout<<"读入完事儿!"<<endl;
    
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退