习题(四)大写转小写,小写转大写

文章介绍了在C语言中两种转换字符大小写的方法:一种是不使用库函数,通过ASCII值直接进行转换;另一种是利用ctype.h库中的islower,isupper,tolower和toupper函数简化操作。
摘要由CSDN通过智能技术生成

题目:

方法一:(不使用库函数)

代码:
 

#include <stdio.h>
int main()
{
		char buf[31] = { 0 };
		scanf("%[^\n]s", buf);
		int i = 0;
		while (buf[i])
		{
			if (buf[i] >= 'a' && buf[i] <= 'z')
				buf[i] -= 32;
			else if (buf[i] >= 'A' && buf[i] <= 'Z')
				buf[i] += 32;
			i++;
		}
		printf("%s\n", buf);
		return 0;
}

运行结果:

代码解析:

第一点:scanf函数加入[^\n]叫做正则表达式,他是可以读取字符串中的空格。如果没有该表达式

我们就会发现它读到空格就停止了。

第二点:根据ASCII表可以知道字母的小写比他的大写大了32.所以我们只需要判断字符在哪个区间,如果是小写字母就减去32,大写字母就加上32.最后打印就可以了

方法二:(使用库函数)

代码:

#include <stdio.h>
#include <ctype.h>
int main()
{
	char buf[31] = { 0 };
	scanf("%[^\n]s", buf);
	int i = 0;
	while (buf[i])
	{
		if (islower(buf[i]))
			buf[i] = toupper(buf[i]);
		else if (isupper(buf[i]))
			buf[i] = tolower(buf[i]);
		i++;
	}
	printf("%s\n", buf);
	return 0;
}

运行结果:

代码解析:

第一点:首先介绍四个库函数  

islower()判断是否为小写字母

isupper()判断是否为大写字母

tolower()把大写字母转化为小写字母

toupper()把小写字母转化为大写字母

他们需要包含头文件<ctype.h>。

第二点:这样进行判断简单多了直接使用if语句判断大小写

               然后使用函数转换大小写。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨小瑾的鸭舌帽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值