用c++编写程序,满足当输入一行字符时(长度不确定),统计并输出其中的大写字母、小写字母和数字的个数。 输入的字符之间没有空格,输出的大写字母、小写字母和数字的个数之间有一个空格。 例如:测试输入:abcABC123DEFxx 预期输出:6 5 3
时间: 2024-02-06 07:11:33 浏览: 60
好的,这个问题很简单,以下是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int upper = 0, lower = 0, digit = 0;
string str;
getline(cin, str); // 读入一行字符串
for (char c : str) {
if (isupper(c)) upper++;
else if (islower(c)) lower++;
else if (isdigit(c)) digit++;
}
cout << upper << " " << lower << " " << digit << endl;
return 0;
}
```
我们定义了三个变量 `upper`、`lower`、`digit` 分别表示大写字母、小写字母和数字的个数,然后用 `getline` 函数读入一行字符串。
接下来我们使用 `for` 循环遍历字符串中的每个字符,如果字符是大写字母则 `upper` 变量加一,如果是小写字母则 `lower` 变量加一,如果是数字则 `digit` 变量加一。
最后输出 `upper`、`lower`、`digit` 三个变量的值即可。
相关问题
编写程序,能够输入一行字符(长度不确定),统计其中的大写字母、小写字母和数字的个数C++
下面是一个简单的 C++ 程序,可以实现你所描述的功能:
```cpp
#include <iostream>
using namespace std;
int main()
{
char str[100];
int upper = 0, lower = 0, digit = 0;
cout << "请输入一行字符:";
cin.getline(str, 100);
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
}
}
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
return 0;
}
```
程序中使用了 `isupper()`、`islower()` 和 `isdigit()` 函数来判断字符的类型。其中,`isupper()` 函数用于判断一个字符是否为大写字母,返回值为非零表示是大写字母,否则为小写字母或其他字符;`islower()` 函数用于判断一个字符是否为小写字母,返回值为非零表示是小写字母,否则为大写字母或其他字符;`isdigit()` 函数用于判断一个字符是否为数字字符,返回值为非零表示是数字字符,否则为其他字符。
用C++编写程序,输入一行字符(长度不确定),先把输入的字符串写到文本文件string.txt,然后从该文件中读出来,最后再统计其中的大写字母、小写字母和数字的个数并输出。
好的,这是一个比较完整的程序,包含了输入、输出、文件操作以及统计字符的过程。以下是代码:
```c++
#include <iostream>
#include <fstream>
#include <ctype.h>
using namespace std;
int main()
{
char str[1000];
cout << "请输入一行字符:" << endl;
cin.getline(str, 1000);
// 将字符串写入文件string.txt
ofstream fout("string.txt");
fout << str << endl;
fout.close();
// 从文件中读出字符串
ifstream fin("string.txt");
fin.getline(str, 1000);
fin.close();
// 统计大写字母、小写字母和数字的个数
int upper = 0, lower = 0, digit = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
}
}
// 输出结果
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
return 0;
}
```
程序首先提示用户输入一行字符,然后将其写入文件string.txt中。接着从该文件中读出字符串,统计其中的大写字母、小写字母和数字的个数,并输出结果。注意,程序中使用了C++中的文件操作,包括ofstream和ifstream两个类,分别用于写入文件和读取文件。同时,使用了ctype.h头文件中的isupper、islower和isdigit三个函数,分别用于判断字符是否为大写字母、小写字母和数字。
阅读全文