题目详情 - [模拟题] 大小写转换 - 核OJ(hetao101.com)
题目大意:
对n个字符进行处理,大写转小写,小写换大写,数字不作处理
大致思路:
1.输入n和字符,将字符保存到char数组中
2.转化大小写
3.输出转化后的字符
功能实现:
1.输入并保存数据
我们只需要定义一个int类型的变量和一个char类型的数组,为了防止溢出,数组最好定大一点,留100个位置即可。代码如下:
int n;
char a[100];
cin >> n;
2.输入字符、保存并转化输出
由于字符是逐个输入,因此使用for循环可以实现,循环次数为前面输入的n,每次输入完后转换大小写。
小写要换大写,大写要换小写,数字不需要转化,需要添加if-else if-else语句判断字符是小写、大写还是数字。接下来就要实现大小写的转化了。根据ascii码表,同一个字母的大写和小写相差32,其中,大写的码更小,这样,就可以写出代码了:
for (int i = 1;i <= n;i++)
{
cin >> a[i];
char b = a[i];
if (b <= 'z' && b >= 'a')
{
b -= 32;
}
else if (b >= 'A' && b <= 'Z')
{
b += 32;
}
else
{
b = b;
}
cout << b << endl;
}
数字不需要转化,所有只需要自己等于自己就可以了。
又是AC的一道题啊!