大小写转换,遇到@跳出

大小写转换,遇到@跳出

我们希望可以从键盘接收一些字符,并且当这些字符是大写字母时转换为小写字符,是小写字符时转换成大写字符,其他字符不转换,遇到@跳出循环。

1、我们利用getchar函数从键盘接收字符,将其置于while(1)中,使之可以一直接收字符;
2、判断接收到的 字符是否为@,若是@则跳出循环;
3、给main()函数植入两个函数分别判别大小写字母,分别记作isSmallLetter(char ch)和isBigLetter(char ch);我们的函数只有返回值是或不是对应的大小写字符,所以为了节省内存,我们可以采用c99之后的编译器支持的内联函数inline或是使用带参数的宏;我建议使用带参数的宏,我将内联函数的使用方法注释掉了,读者可根据需要重新调用。
4、在判断完大小写字符后输出对应的值采用putchar()函数,实现大小写的转换与输出;
5、打印结果。

代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define isSmallLetter(ch) (ch >= 'a' && ch <= 'z')

int isBigLetter(char ch) {
	return ch >= 'A' && ch <= 'Z';
}

//inline int isSmallLetter(char ch) {
//	return ch >= 'a' && ch <= 'z';
//}

int main() {
	char ch;
	printf("请输入一串字符:\n");
	while (1) {
		ch = getchar();
		if (ch == '@') {
			break;
		}
		if (isSmallLetter(ch)) {
			putchar(ch - 32);
		}
		else if (isBigLetter(ch)) {
			putchar(ch + 32);
		}
		else {
			putchar(ch);
		}
	}
	system("pause");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值