题目要求
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
程序分析
看到“接受字符”想到scanf函数,但题设中不只输入一次而且输入类型也不同(%c %d),那么定义就只能用getchar()函数实现。
while(hsl=getchar()!=EOF)
{
…
}
如果不输入Ctrl+z,hsl的值恒为1,循环体就构成了。
实现大小写之间的转换,ASCLL可以实现储存。
核心代码
while ((hsl = getchar()) != EOF)
{
if (hsl > 'a' && hsl < 'z')
{
printf ("%c\n",hsl-32);
}
else
if (hsl > 'A' && hsl < 'Z')
{
printf ("%c\n",hsl+32);
}
else
if (hsl > '0' && hsl < '9')
{
;
}
else
{
;
}
}
全部代码如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int hsl;
printf ("请输入一个字符:>");
while ((hsl = getchar()) != EOF)
{
if (hsl > 'a' && hsl < 'z')
{
printf ("%c\n",hsl-32);
}
else
if (hsl > 'A' && hsl < 'Z')
{
printf ("%c\n",hsl+32);
}
else
if (hsl > '0' && hsl < '9')
{
;
}
else
{
;
}
}
printf ("\n");
system ("pause");
return 0;
}
展示结果如下: