【ACM培训第四课】 内容:大小写转换 学时:一天 形式:上机做题 |
万恶的字母
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 158 Accepted Submission(s) : 71
Problem Description
节操一直都是斐儿姐的形影不离的队友,数学方面尤其出众。
在LYF指导着斐儿姐的时候,斐儿姐也告诉了节操LYF是怎么指导他的。
节操听到要做一堆“a+b”就开始吐槽了:“全都是整数的加法运算,你无聊不无聊啊!” 斐儿姐:“那……你想做什么?” 节操:“这样吧,我来考考你。比如给你一个字母,如果是这个字母是大写就输出它的小写,如果是小写就输出大写。” 斐儿姐:“字符?!怎么做……”
节操阴险地笑了笑,用鄙视的眼神瞟了下斐儿姐就走了。斐儿姐心想如果做不出来的话肯定被节操严重鄙视了。这万恶的字母啊!大家帮下斐儿姐吧。
Input
输入包含多组数据,每组数据占一行,每行仅有一个字母('a'~'z', 'A'~'Z')。
Output
对于每组数据,输出一个字母。若给出的字母是大写,输出其小写形式,若给出的字母是小写,输出其大写形式。
Sample Input
A
b
Sample Output
a
B
Author
xysDavidCN
这一题并不难,不过通过这一题我已经开始感受到了自己判题的压力了,新生的代码千差万别,有些虽然考虑不完善,但不能说是错的,因为针对这一题确实可以这么写。应该要开始考虑使用一些工具了。
转换大小写并不难,只是要让大家熟悉一下ASCII编码的使用。
参考代码
C++版:修改自dyy
#include <iostream>
using namespace std;
int main()
{
char a;
while(cin>>a)
{
if((a>='a')&&(a<='z'))
{
a=a+32;
cout<<a<<endl;
}
else if(a >= 'A' && a <= 'Z')
{
a=a-32;
cout<<a<<endl;
}
}
return 0;
}
using namespace std;
int main()
{
char a;
while(cin>>a)
{
if((a>='a')&&(a<='z'))
{
a=a+32;
cout<<a<<endl;
}
else if(a >= 'A' && a <= 'Z')
{
a=a-32;
cout<<a<<endl;
}
}
return 0;
}
C语言版:修改自dyy
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a;
while(~scanf("%c",&a))
{
if(a>='a'&&a<='z')
{
a=a-32;
printf("%c ", a);
}
else if(a>='A'&&a<='Z')
{
a=a+32;
printf("%c ",a);
}
}
return 0;
}
#include <stdlib.h>
int main()
{
char a;
while(~scanf("%c",&a))
{
if(a>='a'&&a<='z')
{
a=a-32;
printf("%c ", a);
}
else if(a>='A'&&a<='Z')
{
a=a+32;
printf("%c ",a);
}
}
return 0;
}