字符串的处理 题目描述 给定一个只包含大小写字母和数字的字符串,请你完成如下操作: 1、统计其中大写字母、小写字母和数字字符的个数 2、将其中所有的小写字母转换成大写字母 输入格式 输入一行,包含一个字符串。 输出格式 第一行输出大写字母、小写字母和数字字符的个数,以空格间隔 第二行输出转换后的字符串 数据范围 字符串长度不超过100100。 用c++y语言
时间: 2023-02-20 17:36:29 浏览: 562
以下是用 C 语言完成这道题的代码:
```
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[100100];
int upper = 0, lower = 0, digit = 0;
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
}
}
printf("%d %d %d\n", upper, lower, digit);
for (int i = 0; i < strlen(str); i++) {
str[i] = toupper(str[i]);
}
printf("%s\n", str);
return 0;
}
```
以下是简要说明:
- 首先,通过 `scanf` 函数读入字符串。
- 然后,使用 `for` 循环遍历字符串,通过 `isupper`,`islower` 和 `isdigit` 判断每个字符是否是大写字母、小写字母或数字,统计个数。
- 最后,再次遍历字符串,使用 `toupper` 函数将小写字母转换为大写字母,最后通过 `printf` 输出结果。
阅读全文