C语言从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变,并输出结果
时间: 2024-01-10 07:04:49 浏览: 189
以下是一个简单的 C 代码实现:
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int i = 0;
printf("请输入字符串:");
fgets(str, MAX_LEN, stdin);
while (str[i] != '\0') {
if (isupper(str[i])) {
str[i] = tolower(str[i]);
} else if (islower(str[i])) {
str[i] = toupper(str[i]);
}
i++;
}
printf("转换后的字符串为:%s", str);
return 0;
}
通过 fgets()
函数从键盘输入字符串,并将其存储在 str
数组中。然后,使用 while
循环遍历字符串中的每个字符,如果字符是大写字母,则将其转换为小写字母;如果字符是小写字母,则将其转换为大写字母。最后,输出转换后的字符串。注意,我们使用了 <ctype.h>
头文件中的 isupper()
、tolower()
、islower()
和 toupper()
函数来判断和转换字符的大小写状态。
相关问题
c语言,从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母,转换成小写字母,小写字母转换成大写字母,非字母字符不变,并输出
好的,以下是使用C语言实现的代码,实现将输入的字符串中的大小写字母互换的功能:
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数的头文件
#define MAX_SIZE 100 // 定义字符串数组的最大长度
int main() {
char str[MAX_SIZE]; // 定义字符串数组
int i = 0;
printf("请输入字符串:\n");
fgets(str, MAX_SIZE, stdin); // 从键盘上读入字符串,并存放在str数组中
// 遍历字符串中的每个字符,进行大小写转换
while (str[i] != '\0') {
if (isupper(str[i])) { // 判断字符是否为大写字母
str[i] = tolower(str[i]); // 将大写字母转换为小写字母
} else if (islower(str[i])) { // 判断字符是否为小写字母
str[i] = toupper(str[i]); // 将小写字母转换为大写字母
}
i++;
}
printf("转换后的字符串为:%s\n", str); // 输出转换后的字符串
return 0;
}
代码中使用了ctype.h
头文件中的isupper()
、islower()
、tolower()
、toupper()
函数,这些函数都是字符处理函数,用于判断字符的大小写,以及进行字符大小写的转换。另外,fgets()
函数用于从标准输入(键盘)读入字符串,可以指定读入的最大长度,避免数组越界。
c语言 编写一个函数fun,从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变
以下是使用 C 语言编写的函数 fun
,它可以实现将输入的字符串中的大小写字母进行转换,并保留非字母字符不变:
#include <stdio.h>
#include <ctype.h>
void fun() {
char s[100];
int i = 0;
// 从键盘上输入字符串
printf("请输入一个字符串:");
scanf("%s", s);
// 将字符串中的大小写字母进行转换
while (s[i] != '\0') {
if (islower(s[i])) {
s[i] = toupper(s[i]);
} else if (isupper(s[i])) {
s[i] = tolower(s[i]);
}
i++;
}
// 输出转换后的字符串
printf("转换后的字符串为:%s\n", s);
}
使用示例:
fun();
请输入一个字符串:Hello World!
转换后的字符串为:hELLO wORLD!
相关推荐













