C语言由键盘输入一个字符串,字符串包含大写字母、小写字母和数字,经过处理后只小写字母组成的字符串。(例如:输入字符串HDhj9g3m6zxT6Etq,处理后输出hjgmzxtq)
时间: 2024-12-30 22:38:54 浏览: 23
C语言中,你可以通过遍历输入的字符串,并使用ASCII码特性来实现这个功能。ASCII码规定大写字母比对应的小写字母的值高32,因此可以将每个字符减去32来转换成小写字母。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void toLowerCase(char* str) {
for (int i = 0; str[i]; i++) {
if ('A' <= str[i] && str[i] <= 'Z') { // 判断是否为大写字母
str[i] = str[i] + 32; // 转换为小写字母
}
}
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 使用fgets读取字符串,防止超格
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
toLowerCase(input);
printf("处理后的字符串:%s\n", input);
return 0;
}
```
当你运行这个程序并输入如 "HDhj9g3m6zxT6Etq" 这样的字符串,它会输出 "hjgmzxtq"。
相关问题
用C语言写键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数
以下是用C语言实现键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数的代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i, upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
首先定义了一个字符数组 `str` 来存储输入的字符串,以及四个整型变量 `upper`、`lower`、`digit`、`other` 来分别统计大写字母、小写字母、数字和其他字符的个数。
然后通过 `gets` 函数获取用户输入的字符串。注意:`gets` 函数不会判断输入的字符串长度,可能会导致缓冲区溢出,因此在实际使用中需要使用更安全的字符串输入函数,比如 `fgets`。
接着使用 `for` 循环遍历字符串中的每个字符,并根据 ASCII 码判断该字符是大写字母、小写字母、数字还是其他字符,并分别对 `upper`、`lower`、`digit`、`other` 变量进行累加。
最后输出各个字符类型的个数即可。
c语言从键盘输入一个字符串并保存起来,统计该字符串中大写字母、小写字母、数字、其他字符的个数
好的,以下是 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, other = 0;
// 读取字符串
printf("请输入一个字符串:\n");
scanf("%s", str);
// 统计字符个数
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
// 输出结果
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
你可以将上述代码复制到 C 语言开发环境中进行编译和运行。然后按照提示输入一个字符串,即可得到大写字母、小写字母、数字、其他字符的个数的统计结果。
阅读全文