问题:如何用C++统计输入字符数组中的英文字母、正数和负数的个数?
可以使用以下代码实现:#include <iostream>using namespace std;int main(){ const int max_size = 10000; char a[max_size]; int i, gs, ywzm = 0, zs = 0, fs = 0; cout << "请输入准备输入的字符数量:"; cin >> gs; cout << "请输入一些字符(结束时使用回车键):" << endl; // 循环读入字符,同时统计英文字母、正数和负数的个数 for (i = 0; i < gs + 1; i++) { cin >> a[i]; if (isalpha(a[i])) // 判断是否为英文字母 ywzm++; else if (isdigit(a[i])) // 判断是否为数字 { if (a[i] == '0') // 数字0作为正数处理 zs++; else if (a[i] > '0') // 大于0的数字为正数 zs++; else // 小于0的数字为负数 fs++; } } cout << "统计下来,英文字母的个数:" << ywzm << endl; cout << " 正数的个数:" << zs << endl; cout << " 负数的个数:" << fs << endl; return 0;}
上述代码中,使用了isalpha()和isdigit()函数分别判断字符是否为英文字母和数字,同时根据数字的正负性将其归入相应的类别。最终输出统计结果。
需要注意的是,上述代码中对输入字符数量没有做越界检查,需要保证输入字符数量不超过max_size的限制。
球一个最佳答案谢谢啦!这对我非常重要!   |