使用scanf进行输入。给定一个用户输入的字符串,不使用标准函数计算字符串中大写和小写字母的数量,并显示结果。
时间: 2024-05-20 16:18:19 浏览: 25
#include <stdio.h>
int main() {
char str[100];
int upper_cnt = 0, lower_cnt = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for(int i = 0; str[i] != '\0'; i++) {
if(str[i] >= 'A' && str[i] <= 'Z')
upper_cnt++;
else if(str[i] >= 'a' && str[i] <= 'z')
lower_cnt++;
}
printf("字符串中大写字母的数量为:%d\n", upper_cnt);
printf("字符串中小写字母的数量为:%d\n", lower_cnt);
return 0;
}
相关问题
字符串的处理 题目描述 给定一个只包含大小写字母和数字的字符串,请你完成如下操作: 1、统计其中大写字母、小写字母和数字字符的个数 2、将其中所有的小写字母转换成大写字母 输入格式 输入一行,包含一个字符串。 输出格式 第一行输出大写字母、小写字母和数字字符的个数,以空格间隔 第二行输出转换后的字符串 数据范围 字符串长度不超过100100。 用c++y语言
以下是用 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` 输出结果。
给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。C语言
答案:
可以使用C语言的toupper函数将小写字母转换成大写字母,然后遍历字符串进行转换,最后输出转换后的字符串。示例代码如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i;
printf("请输入一个字符串:");
scanf("%s", str);
for (i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
}
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
上述代码中,islower函数用于判断是否为小写字母,toupper函数用于将小写字母转换成大写字母。
阅读全文