把字符串中的大写字母改成小写字母,其他字符不变。 输入格式: 输入一个长度不超过20的包含大小写母和数字的字符串。 输出格式: 输出大写字母改成小写字母后的字符串,用c语言并且可以输入字符
时间: 2024-02-03 12:14:32 浏览: 67
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[21];
scanf("%20s", str); // 读入字符串,最多读入 20 个字符
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) { // 如果是大写字母
str[i] = tolower(str[i]); // 转换成小写字母
}
}
printf("%s\n", str); // 输出转换后的字符串
return 0;
}
```
代码说明:
1. 首先定义一个字符数组 `str`,用于存储输入的字符串。
2. 使用 `scanf` 函数读入字符串,其中 `%20s` 限制最多读入 20 个字符。
3. 使用 `for` 循环遍历字符串,如果当前字符是大写字母,则使用 `tolower` 函数将其转换成小写字母。
4. 最后使用 `printf` 函数输出转换后的字符串。注意,需要在字符串后面加上换行符 `\n`。
示例输入:
```
HeLLo, WOrld!
```
示例输出:
```
hello, world!
```
相关问题
用c语言 字符串字母大小写转换 题目描述 编写程序,将字符串中小写字母字符转换为大写。 输入格式: 在一行中输入一个字符串(不超过 80 个字符)。 输出格式: 将字符串中小写字母字符转换为大写后输出。 输入样例: strings 输出样例: STRINGS
下面是使用C语言实现字符串字母大小写转换的代码:
```c
#include <stdio.h>
int main()
{
char str[80];
int i;
printf("请输入一个字符串:");
gets(str);
for(i = 0; str[i] != '\0'; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] -= 32; // 转换为大写字母
}
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
思路:
1. 定义一个字符数组 str 来存储输入的字符串;
2. 使用 gets 函数从标准输入中读取字符串,存储到 str 中;
3. 遍历字符串 str,如果是小写字母,则将其转换为大写字母(小写字母的 ASCII 码值比大写字母的 ASCII 码值大 32);
4. 输出转换后的字符串。
注意:
1. gets 函数不安全,建议使用 fgets 函数代替;
2. 字符串的最后一个字符是 '\0',表示字符串的结束。遍历字符串时应该判断是否等于 '\0';
3. 如果字符串中包含非字母字符,可以不做处理,直接输出即可。
用c语言5-2 字符串字母大小写转换 题目描述 编写程序,将字符串中小写字母字符转换为大写。 输入格式: 在一行中输入一个字符串(不超过 80 个字符)。 输出格式: 将字符串中小写字母字符转换为大写后输出。 输入样例: strings 输出样例: STRINGS
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char s[81];
scanf("%s", s);
for (int i = 0; i < strlen(s); i++) {
if (islower(s[i])) {
s[i] = toupper(s[i]);
}
}
printf("%s\n", s);
return 0;
}
```
这里使用了 C 语言内置的 `islower()` 函数和 `toupper()` 函数。`islower()` 函数用于判断一个字符是否是小写字母,`toupper()` 函数用于将一个小写字母转换为大写字母。
遍历字符串中的每一个字符,如果是小写字母,则使用 `toupper()` 函数将其转换为大写字母。最后输出转换后的字符串即可。
如果输入样例为 strings,则输出为 STRINGS。
阅读全文