| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 171 人关注过本帖
标题:【求助】这个程序输出有问题
只看楼主 加入收藏
Aesop
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-11-1
结帖率:100%
  已结贴   问题点数:15  回复次数:2   
【求助】这个程序输出有问题
题目:字符串字母大小写转换
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。

输入格式:
输入为一个以“#”结束的字符串(不超过30个字符)。

输出格式:
在一行中输出大小写转换后的结果字符串。

输入样例:
Hello World! 123#
输出样例:
hELLO wORLD! 123





我编的程:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i=0,n=0;
    char a[30];
    char ch;
    ch=getchar();
    while(ch!='#'){
        a[i]=ch;
        n++;
        i++;
        ch=getchar();
    }
    for(i=0;i<n;i++){
        if(a[i]>='a'&&a[i]<='z'){
            a[i]=a[i]-32;
        }
        else if(a[i]>='A'||a[i]<='Z'){
            a[i]=a[i]+32;
        }
        else{
            a[i]=a[i];
        }
    }
    for(i=0;i<n;i++){
        printf("%c",a[i]);
    }
    return 0;
}

输入123#时输出的QRS,但是程序要求输出123。
如果可以的话,帮忙写一下错在哪,怎么修正,非常感谢了!!!!
2019-01-05 11:39
jklqwe111
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:228
专家分:756
注 册:2014-4-13
  得分:15 
else if(a[i]>='A'||a[i]<='Z'){
            a[i]=a[i]+32;
有问题
试一下
else if(a[i]>='A'&&a[i]<='Z'){
            a[i]=a[i]+32;
2019-01-05 12:08
Aesop
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-11-1
  得分:0 
回复 2楼 jklqwe111
谢谢
2019-01-05 13:18







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042245 second(s), 9 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved