注册 登录
编程论坛 C++教室

求高手指点

lin389064181 发布于 2012-11-28 01:18, 235 次点击
Problem Description
自从GY同学听了郭嵩山教授的讲座,就开始没日没夜的刷起了A+B。
偶然的机会,GY在电脑前狂拍键盘被ACM协会会长HA看到了。
HA看到要做一堆"A+B"就开始吐槽了::“全都是整数的加法运算,你无聊不无聊啊!”GY:“那……你想做什么?”HA:“这样吧,我来考考你。比如给你一个字母,如果是这个字母是大写就输出它的小写,如果是小写就输出大写。”GY:“字符?!怎么做……”
HA阴险地笑了笑,用鄙视的眼神瞟了下GY就走了。GY心想如果做不出来的话肯定被HA严重鄙视了。这万恶的字母啊! 大家帮下GY吧。
Input
输入包含多组数据,每组数据占一行,每行仅有一个字母('a'~'z', 'A'~'Z')。
Output
对于每组数据,输出一个字母。若给出的字母是大写,输出其小写形式,若给出的字母是小写,输出其大写形式。
Sample Input
A
b
Sample Output
a
B
#include<stdio.h>
int main()
{
    char c1,c2;
    while(scanf("%c",&c1)!=EOF)
    {
    if(65<=c1&&c1<=90)
    {
        c2=c1+32;
    }
    else if(c1 >= 97 && c1 <= 122)
    {
        c2=c1-32;
    }
      printf("%c\n", c2);
   
     
     }
    return 0;
}
3 回复
#2
linan032012-11-28 06:02
题目要求你输入多组字符的数据,而你的代码里是每输入一个字符就做一次判断输出。
#3
rjsp2012-11-28 08:33
烂代码,错误太多,不解释了
程序代码:
#include <stdio.h>

int main()
{
    char c;
    while( scanf(" %c",&c) == 1 )
    {
        if( 'A'<=c && c<='Z' )
        {
            c += 'a'-'A';
        }
        else if( c>='a' && c<='z' )
        {
            c -= 'a'-'A';
        }
        printf( "%c\n", c );
    }
    return 0;
}



[ 本帖最后由 rjsp 于 2012-11-28 11:12 编辑 ]
#4
lin3890641812012-11-28 10:13
回复 3楼 rjsp
我是新手,属于菜鸟,请指教!
1