C语言实现对一串字符进行字母大写变小写,小写变大写其余字符不变
时间: 2023-09-27 21:08:30 浏览: 103
#include <stdio.h>
void changeCase(char *str) {
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = str[i] - 'a' + 'A';
} else if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = str[i] - 'A' + 'a';
}
i++;
}
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
changeCase(str);
printf("Changed string: %s", str);
return 0;
}
相关问题
c语言用循环结构实现输入一串字符进行字母大写变小写,小写变大写其余字符不变
下面是C语言的代码实现:
#include <stdio.h>
int main() {
char str[100];
int i;
printf("请输入一串字符:");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') { // 大写字母转小写字母
str[i] += 32;
} else if (str[i] >= 'a' && str[i] <= 'z') { // 小写字母转大写字母
str[i] -= 32;
} else {
// 其他字符不变
}
}
printf("转换后的字符串为:%s\n", str);
return 0;
}
代码解释:
- 首先定义一个字符数组
str
,用于存储输入的字符串。 - 使用
fgets()
函数从标准输入中获取一行字符串,最多读取100个字符。 - 然后使用
for
循环遍历字符串中的每个字符。 - 如果当前字符是大写字母(ASCII码范围在65到90之间),则将其转换为小写字母,即加上32。
- 如果当前字符是小写字母(ASCII码范围在97到122之间),则将其转换为大写字母,即减去32。
- 如果当前字符不是字母,则不做处理。
- 最后输出转换后的字符串。
c语言实现一串字符大写字母转小写字母,小写字母转大写字母
在C语言中,你可以使用ASCII码来实现字符的大写和小写转换。ASCII码规定了大写字母和小写字母相邻,它们的值相差固定的量。下面是一个简单的示例,展示如何分别将字符串中的字母进行大小写转换:
大写转小写:
#include <ctype.h> // 包含处理字符类型的功能
void toLowerCase(char* str) {
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) { // 判断是否为大写字母
str[i] = str[i] + 32; // 对应ASCII值加上32转为小写
}
}
}
// 使用示例
char str[] = "Hello World!";
toLowerCase(str);
小写转大写:
void toUpperCase(char* str) {
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) { // 判断是否为小写字母
str[i] = str[i] - 32; // 对应ASCII值减去32转为大写
}
}
}
// 使用示例
char str[] = "hello world!";
toUpperCase(str);
相关推荐














