输入一个字符,如果是英文字符,就进行大小写转换,否则输出原字符。用C语言怎么写
时间: 2023-05-14 09:07:15 浏览: 77
以下是C知道的回答:
可以使用C语言中的isalpha()函数来判断输入的字符是否为英文字母,如果是,则可以使用toupper()或tolower()函数进行大小写转换,否则直接输出原字符即可。以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
if (isalpha(c)) {
if (isupper(c)) {
c = tolower(c);
} else {
c = toupper(c);
}
}
printf("转换后的字符为:%c\n", c);
return 0;
}
```
当输入一个英文字母时,程序会将其转换为相反的大小写字母,例如输入'A',输出'a';输入'b',输出'B'。当输入一个非英文字母时,程序会直接输出原字符,例如输入'1',输出'1'。
相关问题
用c语言输入一个半角字符,如果是英文字母,则实现大小写转换后输出。否则,输出原字符。
您好,对于您的问题,我可以回答。以下是代码示例:
#include <stdio.h>
int main() {
char c;
printf("请输入一个半角字符:");
scanf("%c", &c);
if (c >= 'a' && c <= 'z') {
c = c - 'a' + 'A'; //小写字母转大写字母
} else if (c >= 'A' && c <= 'Z') {
c = c - 'A' + 'a'; //大写字母转小写字母
}
printf("%c\n", c);
return ;
}
感谢您的提问。
如何用C语言同时输入两个字符串并同时进行转换大小写
可以使用C语言中的字符数组来输入字符串,并使用循环语句和条件语句来实现大小写转换。
以下是一个示例代码,可以同时输入两个字符串并进行大小写转换:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str1[100], str2[100];
int i;
printf("请输入第一个字符串:");
fgets(str1, sizeof(str1), stdin);
printf("请输入第二个字符串:");
fgets(str2, sizeof(str2), stdin);
printf("第一个字符串的大写形式是:");
for (i = 0; str1[i] != '\0'; i++) {
putchar(toupper(str1[i]));
}
printf("\n第二个字符串的小写形式是:");
for (i = 0; str2[i] != '\0'; i++) {
putchar(tolower(str2[i]));
}
return 0;
}
```
在这个示例中,我们首先定义了两个字符数组 `str1` 和 `str2`,并使用 `fgets` 函数从标准输入中读取字符串。接下来,使用 `toupper` 函数和 `tolower` 函数实现字符串的大小写转换,然后使用 `putchar` 函数输出结果。
需要注意的是,在输入字符串时,我们使用了 `fgets` 函数而不是 `gets` 函数。`gets` 函数容易造成缓冲区溢出,从而导致安全问题。而 `fgets` 函数会限制输入的字符串长度,从而可以避免这种问题。