ferry849 2022-11-06 22:46 采纳率: 100%
浏览 16
已结题

对于统计字母,数字,空格,和其他字符个数的问题

代码感觉没问题也能运行,就是结果不对
我想要的程序是统计字符串的单词,数字,空格和其他的个数
我出现的问题是本来应该是字母的个数,被统计到了其他里

#include<iostream>
using namespace std;
int main()
{
    int c;
    int number = 0;
    int letter = 0;
    int space = 0;
    int others = 0;
    cout << "输入一段字符" << endl;
    while ((c = cin.get()) != '\n')
    {
        if (c >= 47 && c <= 58)
            number++;
        else if ((c >= 65 && c <= 91) || (c <= 97 && c >= 122))
            letter++;
        else if (c == 32)
            space++;
        else
            others++;
    }
    cout<<"数字的个数;"<<number<<endl;
    cout<<"字母的个数:"<<letter<<endl;
    cout<<"空格的个数;"<<space<<endl;
    cout<<"其他的个数;"<<others<<endl;
    return 0;
}


  • 写回答

1条回答 默认 最新

  • [小G] 2022-11-06 23:29
    关注

    数字的ASCII范围是 [48, 57],13行改为

    if (c >= 48 && c <= 57)
    

    字母的ASCII范围,小写:[97, 122], 大写:[65, 90],因此15行改为

    else if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 创建了问题 11月6日

悬赏问题

  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端