c语言本题目要求输入一个字符串,然后输出这个字符串中大写字母的个数。 输入格式: 在一行中输入一个字符串。字符串长度不超过80。 输出格式: 第一行按输入顺序输出这个字符串中所有大写字母。 第二行输出这些大写字母的个数。
时间: 2024-02-27 18:56:00 浏览: 73
这是一道C语言基础题目,主要考察对字符串的基本操作和循环的掌握。以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81];
int len, i, count = 0;
fgets(str, 81, stdin); // 读入字符串
len = strlen(str);
printf("大写字母为:");
for (i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
printf("%c", str[i]); // 输出大写字母
count++; // 统计大写字母个数
}
}
printf("\n大写字母个数为:%d\n", count);
return 0;
}
```
输入一个字符串后,我们使用`fgets()`函数读入这个字符串,最多读入80个字符。然后使用`strlen()`函数获取字符串的长度。接着用循环遍历字符串的每一个字符,如果发现是大写字母,则输出该字母并统计大写字母的个数。最后输出大写字母个数即可。
需要注意的是,这里使用`fgets()`函数读入字符串,是为了防止输入的字符串长度超过80,以避免发生缓冲区溢出的问题。同时,输出大写字母的时候,因为题目要求按输入顺序输出,所以直接在循环中输出即可。
相关问题
本题目要求输入一个字符串,然后输出这个字符串中大写字母的个数。 输入格式: 在一行中输入一个字符串。字符串长度不超过80。 输出格式: 第一行按输入顺序输出这个字符串中所有大写字母。 第二行输出这些大写字母的个数。C语言
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[81];
int uppercase_count = 0;
fgets(str, sizeof(str), stdin);
printf("大写字母:");
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
printf("%c", str[i]);
uppercase_count++;
}
}
printf("\n");
printf("大写字母个数:%d\n", uppercase_count);
return 0;
}
```
输入一个字符串,然后遍历字符串中的每一个字符,如果是大写字母则输出该字符并累加计数。最后输出所有大写字母和计数即可。
C语言:7-5 找大写字母。 分数 10 作者 gllypx 单位 桂林学院 本题目要求输入一个字符串,然后输出这个字符串中大写字母的个数。 输入格式: 在一行中输入一个字符串。字符串长度不超过80。 输出格式: 第一行按输入
以下是使用C语言编写的解答代码:
```
#include <stdio.h>
int main()
{
char str[80];
int count = 0; // 计数器,记录大写字母的个数
// 读入字符串
fgets(str, 80, stdin);
// 遍历字符串,统计大写字母的个数
for (int i = 0; str[i] != '\0'; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
count++;
}
}
// 输出结果
printf("%d\n", count);
return 0;
}
```
解题思路:
1. 读入字符串,使用 `fgets()` 函数读入一行字符串,存储在字符数组 `str` 中。
2. 遍历字符串,统计大写字母的个数,使用 `for` 循环遍历字符串中的每个字符,如果该字符是大写字母,则计数器 `count` 加一。
3. 输出结果,使用 `printf()` 函数输出大写字母的个数。
注意事项:
1. 字符串长度不超过80,所以定义字符数组时需要保证数组大小不小于80。
2. 需要使用字符数组来存储读入的字符串,不能使用字符串常量。
3. 在遍历字符串时,需要注意字符串以 `\0` 结尾,循环条件应该是 `str[i] != '\0'`。
阅读全文