输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。C++
时间: 2023-11-07 22:01:58 浏览: 87
这里是一个 C++ 的示例代码,可以实现你想要的功能:
```c++
#include<iostream>
using namespace std;
int main()
{
char ch;
int letter=0, space=0, digit=0, other=0;
cout<<"请输入一行字符:"<<endl;
while((ch=getchar())!='\n')
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;
else if(ch==' ')
space++;
else if(ch>='0'&&ch<='9')
digit++;
else
other++;
}
cout<<"字母个数:"<<letter<<endl;
cout<<"空格个数:"<<space<<endl;
cout<<"数字个数:"<<digit<<endl;
cout<<"其他字符个数:"<<other<<endl;
return 0;
}
```
这个程序会先提示用户输入一行字符,然后通过 `getchar()` 函数一个一个读入,根据字符的类型分别累加计数。最后输出各类字符的个数。
相关问题
C++输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
C++输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数可以使用getchar()函数逐个读取字符,并根据字符的ASCII码值判断其属于哪一类。具体实现可以参考以下代码:
```
#include <iostream>
using namespace std;
int main() {
char c;
int letter = 0, space = 0, number = 0, other = 0;
cout << "请输入一行字符:" << endl;
while ((c = getchar()) && (c != '\n')) {
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
letter++;
else if (c == ' ')
space++;
else if (c >= '0' && c <= '9')
number++;
else
other++;
}
cout << "英文字母个数为:" << letter << endl;
cout << "空格个数为:" << space << endl;
cout << "数字个数为:" << number << endl;
cout << "其他字符个数为:" << other << endl;
return 0;
}
```
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数C++
以下是C++统计字符串中英文字母、数字、空格和其他字符个数的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str); // 输入字符串
int letter = 0, digit = 0, space = 0, other = 0;
for (int i = 0; i < str.length(); i++) {
if (isalpha(str[i])) { // 判断是否为字母
letter++;
} else if (isdigit(str[i])) { // 判断是否为数字
digit++;
} else if (isspace(str[i])) { // 判断是否为空格
space++;
} else { // 其他字符
other++;
}
}
cout << "字母个数:" << letter << endl;
cout << "数字个数:" << digit << endl;
cout << "空格个数:" << space << endl;
cout << "其他字符个数:" << other << endl;
return 0;
}
```
阅读全文