题目
有一个字符,判断它是否为大写字母,如果是,将它转换为小写字母;反之,转换为大写字母。
输入要求:多组输入,每行输入一个字母
输出描述:针对每组输入,输出单独占一行,输出字母的对应形式。
代码
第一种方法:
直接判断
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
char ch;
while (scanf("%c", &ch) != EOF)
{
if (ch >= 'a' && ch <= 'z')
printf("%c\n", ch-32);
else if (ch >= 'A' && ch <= 'Z')
printf("%c\n", ch+32);
}
return 0;
}
第二种方法:
通过引用库函数,需要 包含头文件include<ctype.h>
isupper——判断是否为大写字母
islower——判断是否为小写字母
toupper——小写字母转大写字母
tolower——大写字母转小写字母
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<ctype.h>
int main()
{
char ch;
while (scanf("%c", &ch) != EOF)
{
if (islower(ch))
printf("%c\n", toupper(ch));
else if (isupper(ch))
printf("%c\n", tolower(ch));
}
return 0;
}
上面代码用getchar()来读取数据:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<ctype.h>
int main()
{
char ch;
while ((ch=getchar()) != EOF)
{
if (islower(ch))
printf("%c\n", toupper(ch));
else if (isupper(ch))
printf("%c\n", tolower(ch));
}
return 0;
}