编写程序,可以一直接收键盘字符,并输出其对应的大写字符或小写字符,若是数字不输出(C语言)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/zz070/article/details/102626842

题目要求:
编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。

思路:
在本程序中,用**getchar()和putchar()**输入和输出字符; 将字符进行大小写转换主要依据的是ASCII码表,A到Z在ASCII码表中用65到90表示,a到z在ASCII码表中用97到122表示,相对应的大小写的ASCII码值相差32,在进行大小写转换时,只要对应的加上或者减去32即可完成转换,当遇到数字直接输出空格即可。

注意:
在while的循环条件中要先将getchar()输入的字符赋给ch,再进行循环条件判断
当输入Ctrl z 的时候跳出while循环
判断大小写字母时,要注意判断条件之间要用 && 连接
ASCII码表中各个字母对应的数值

源代码:

#include<stdio.h>
#include<Windows.h>
void main()
{
	char ch;
	printf("请输入(若要退出循环则输入Ctrl z):\n");
	while ((ch = getchar()) != EOF){
		if (ch >= 'a' && ch <= 'z'){
			ch -= 32;
			putchar(ch);
		}
		else if (ch >= 'A' && ch <= 'Z'){
			ch += 32;
			putchar(ch);
		}
		else{
			printf(" ");
		}
	}
	system("pause");
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zz070/article/details/102626842