c++输入一行字符(不含空格),统计出其中大写字母字符的个数。
时间: 2023-05-12 17:05:08 浏览: 109
以下是 CSDN 开发的 C知道的回答:
这个问题可以通过遍历输入的字符串,判断每个字符是否为大写字母来实现。具体的代码如下:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0;
scanf("%s", str);
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
count++;
}
}
printf("大写字母个数为:%d\n", count);
return 0;
}
```
这段代码中,我们首先定义了一个字符数组 `str`,用于存储输入的字符串。然后通过 `scanf` 函数读入字符串。接着,我们使用一个 `for` 循环遍历字符串中的每个字符,如果该字符是大写字母,则将计数器 `count` 加一。最后输出计数器的值即可。
希望这个回答能够帮到你!
相关问题
c++编写程序.能够输入一行不含空格的字符串.统计其中的大写字母小写字母和数字的个数
好的,以下是C++编写的程序,可以实现输入一行不含空格的字符串,统计其中的大写字母、小写字母和数字的个数:
```c++
#include <iostream>
using namespace std;
int main() {
string str;
int upper = 0, lower = 0, digit = 0;
cout << "请输入一行不含空格的字符串:" << endl;
getline(cin, str); // 输入一行字符串
for (char c : str) {
if (c >= 'A' && c <= 'Z') {
upper++;
} else if (c >= 'a' && c <= 'z') {
lower++;
} else if (c >= '0' && c <= '9') {
digit++;
}
}
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
return 0;
}
```
程序思路如下:
1. 使用 `string` 类型的变量 `str` 存储输入的字符串;
2. 定义三个变量 `upper`、`lower` 和 `digit` 分别代表大写字母、小写字母和数字的个数,初始化为 0;
3. 使用 `getline` 函数从标准输入流中读取一行字符串赋值给 `str`;
4. 使用 `for` 循环遍历字符串中的每个字符,通过字符的 ASCII 码值判断它是大写字母、小写字母还是数字,并分别对应将 `upper`、`lower` 和 `digit` 变量的值加 1;
5. 输出统计结果。
运行程序,输入一行不含空格的字符串,即可得到大写字母、小写字母和数字的个数。
用c++编写:输入一行文字,统计其中大写字母、小写字母、空格以及数字字符的个数
好的,这是一个计算问题,我可以为您提供解答。
下面是 C 语言代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, upper=0, lower=0, digit=0, space=0;
printf("请输入一行文字: ");
fgets(str, 100, stdin);
for(i=0; str[i]!='\0'; i++) {
if(isupper(str[i])) {
upper++;
}
else if(islower(str[i])) {
lower++;
}
else if(isdigit(str[i])) {
digit++;
}
else if(isspace(str[i])) {
space++;
}
}
printf("大写字母个数: %d\n", upper);
printf("小写字母个数: %d\n", lower);
printf("数字字符个数: %d\n", digit);
printf("空格个数: %d\n", space);
return 0;
}
```
您可以复制上面的代码到您的编译器中运行,输入一行文字即可得到统计结果。