c++键盘输入连续的字符,统计其中大写字母的个数,直到输入换行符结束
时间: 2024-11-05 19:31:28 浏览: 1
在C++中,你可以使用标准库中的`cin`和`isupper()`函数来实现这个功能。下面是一个简单的示例:
```cpp
#include <iostream>
#include <cctype> // 包含isupper()函数
int main() {
char input;
int uppercase_count = 0;
while (true) { // 持续读取直到遇到换行符
std::cout << "请输入字符(按Enter键结束):";
std::cin >> input;
if (input == '\n') { // 当用户输入换行符,跳出循环
break;
}
if (isupper(input)) { // 判断字符是否为大写字母
uppercase_count++; // 若为大写,计数器加一
}
}
std::cout << "大写字母的个数是:" << uppercase_count << std::endl;
return 0;
}
```
这段代码会持续接收用户的输入,当用户按下回车(换行符)时停止,并显示输入的大写字母总数。
相关问题
用C++编写程序 输入一行字符串,统计其中大写字母,小写字母,空格,数字及其他字符的个数。 判断其是否回文。回文串即正着读和反着读都相同的字符串
以下是用C编写的程序,可以输入一行字符串,统计其中大写字母,小写字母,空格,数字及其他字符的个数,并判断其是否回文。
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[100];
int i, len, upper = 0, lower = 0, space = 0, digit = 0, other = 0;
printf("请输入一行字符串:\n");
fgets(str, 100, stdin);
len = strlen(str) - 1; // 去掉换行符
for (i = 0; i < len; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isspace(str[i])) {
space++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("空格:%d\n", space);
printf("数字:%d\n", digit);
printf("其他字符:%d\n", other);
// 判断是否回文
for (i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
printf("不是回文串\n");
return 0;
}
}
printf("是回文串\n");
return 0;
}
```
如果输入的字符串是 "A man a plan a canal Panama",则输出结果为:
```
大写字母:7
小写字母:14
空格:6
数字:0
其他字符:0
是回文串
```
用c++编写程序代码:输入一行字符串,统计其中大写字母、小写字母、空格、数字及其他字符的个数,判断其是否回文。回文串即正着读和反着读都相同的字符串
以下是用 C 语言编写的程序代码,可以实现输入一行字符串,统计其中大写字母、小写字母、空格、数字及其他字符的个数,判断其是否回文。
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int len, i, j, upper, lower, space, digit, other;
upper = lower = space = digit = other = 0;
printf("请输入一行字符串:\n");
fgets(str, MAX_LEN, stdin);
len = strlen(str) - 1; // 去掉换行符
// 统计各种字符的个数
for (i = 0; i < len; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isspace(str[i])) {
space++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
// 判断是否回文
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
printf("不是回文串\n");
return 0;
}
}
printf("是回文串\n");
// 输出各种字符的个数
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("空格:%d\n", space);
printf("数字:%d\n", digit);
printf("其他字符:%d\n", other);
return 0;
}
```
注意:在输入字符串时,使用了 `fgets` 函数,可以读取一行字符串,包括空格和换行符。在统计各种字符的个数时,使用了 `ctype.h` 头文件中的函数,可以判断字符的类型。在判断是否回文时,使用了双指针法,可以从字符串的两端同时向中间遍历。
阅读全文