代码感觉没问题也能运行,就是结果不对
我想要的程序是统计字符串的单词,数字,空格和其他的个数
我出现的问题是本来应该是字母的个数,被统计到了其他里
#include
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<<"数字的个数;"<"字母的个数:"<"空格的个数;"<"其他的个数;"<return 0;
}
数字的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))