c语言 字符串字母大小写转换

本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
输入格式:
输入为一个以“#”结束的字符串(不超过30个字符)。
输出格式:
在一行中输出大小写转换后的结果字符串。

我的答案:

#include <stdio.h>
int main()
{
	char str1[30];//输入的字符串
	char str2[30];//处理完的字符串
	int i,len;
	char ch;
	ch = getchar();
	for (i = 0; ch != '#'; i++)//输入字符串
	{
		str1[i] = ch;
		len++;
		ch = getchar();
	}
	for (i = 0; i < len; i++)//处理字符串
	{
		if (str1[i] >= 'A' && str1[i] <= 'Z')//大写转小写
		{
			str2[i] = str1[i] + 32;
		}
		else if (str1[i] >= 'a' && str1[i] <= 'z')//小写转大写
		{
			str2[i] = str1[i] - 32;
		}
		else//其他的字符不变
		{
			str2[i] = str1[i];
		}
	}
    puts(str2);//输出处理完的字符串

	return 0;
}

大写字母的ASCII值 + 32 == 小写字母的ASCII值

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值