| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 546 人关注过本帖
标题:输出问题
只看楼主 加入收藏
woshi菜鸟
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-12-11
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:10 
输出问题

输入一个大写字母,求对应的小写字母的前驱和后继。
输入一个大写字母(介于A和Z之间)。
输出对应的小写字母的前一个字母和后一个字母,之间用空格分隔。如果没有输出一个减号'-'。


#include"stdio.h"
int main(void)
{
int a,b,c;
b=getchar();
a=(b-1)+'a'-'A';
c=(b+1)+'a'-'A';
if(a<'A'&&c>'Z')
printf("-")
printf("%c %c\n",a,c);
return 0;
}   
为什么输不出'-'.
求神牛帮助   
搜索更多相关主题的帖子: 字母 include return 
2012-12-13 17:10
nanicesky
Rank: 2
来 自:元外元
等 级:论坛游民
帖 子:31
专家分:76
注 册:2012-1-20
收藏
得分:1 
你的代码少了点范围限制如果非要输出不能用&& 符,只能用||  ,但这样输出的结果不对,后面输出的代码还在再改一下
2012-12-13 17:22
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:4 
程序代码:
/*
输入一个大写字母,求对应的小写字母的前驱和后继。
输入一个大写字母(介于A和Z之间)。
输出对应的小写字母的前一个字母和后一个字母,之间用空格分隔。如果没有输出一个减号'-'。
*/

#include "stdafx.h"

#include<stdio.h>

int main(void)
{
    char ch;
    char chPrev;
    char chNext;

    ch = getchar();

    if((ch >= 'A') && (ch <='Z'))
    {
        chPrev = (ch-1) + 'a'-'A';
        chNext = (ch+1) + 'a'-'A';

        if(ch == 'A')
        {
            printf("prev: -, next: %c\n", chNext);
        }
        else if((ch == 'Z'))
        {
            printf("prev: %c, next: -\n", chPrev);
        }
        else
        {
            printf("prev: %c, next: %c\n",chPrev, chNext);
        }
    }
    else
    {
        printf("您所输入的字符不在('A' - 'Z')范围内");
    }

    return 0;
}
2012-12-13 17:23
woshi菜鸟
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-12-11
收藏
得分:0 
俺是菜鸟,能不能再简单点
2012-12-13 17:39
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:0 
程序代码:

//如果你还看不懂,我也没办法了

#include "stdafx.h"

#include<stdio.h>

int main(void)
{
    char ch;
    char chPrev;
    char chNext;

    //输入一个字符
    ch = getchar();

    //如果输入的字符在'A' - 'Z' 范围内,就把输入的字符的前一个和后一个转换为小写字母
    //如果输入的字符不在范围内,直接输出"您所输入的字符不在('A' - 'Z')范围内", 然后退出.
    if((ch >= 'A') && (ch <='Z'))
    {
        //假设输入的字符为大写字母B
        //chPrev 等于 a
        //chNext 等于 c
        chPrev = (ch-1) + 'a'-'A';
        chNext = (ch+1) + 'a'-'A';

        //假设输入的字符为大写字母A
        //根据题意:前一个字符应该输出为 -
        //则后一个字符为 b
        if(ch == 'A')
        {
            printf("prev: -, next: %c\n", chNext);
        }

        //假设输入的字符为大写字母Z
        //前一个字符应该输出为 y
        //根据题意:则后一个字符应该输出为 -
        else if((ch == 'Z'))
        {
            printf("prev: %c, next: -\n", chPrev);
        }

        //假设输入的字符为大写字母B
        //前一个字符应该输出为 a
        //则后一个字符为 c
        else
        {
            printf("prev: %c, next: %c\n",chPrev, chNext);
        }
    }
    else
    {
        printf("您所输入的字符不在('A' - 'Z')范围内");
    }

    return 0;
}
2012-12-13 17:47
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:5 
#include<stdio.h>
int main(void)
{
    int a;
    do{
        a=getchar();
    }while(a<'A'||a>'Z');//控制输入大写
    if(a=='A')//如果是'A'
        printf("- b\n");
    if(a=='Z')//如果是'Z'
        printf("y -\n");
    if(a>'A'&&a<'Z')//如果是'A'到'Z'
        printf("%c %c\n",a-1+('a'-'A'),a+1+('a'-'A'));
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 小小战士 于 2012-12-13 17:56 编辑 ]

小小战士,战士中的战斗机!
2012-12-13 17:52
j1029721613
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:3
专家分:3
注 册:2012-12-13
收藏
得分:0 
  少了一些东西.. 一个分号和一个括号  以后要细心点
下面这个可以输出了

#include"stdio.h"
int main(void)
{
int a,b,c;
b=getchar();
a=(b-1)+'a'-'A';
c=(b+1)+'a'-'A';
if(a<'A'&&c>'Z')
printf("-");
printf("%c %c\n",a,c);
return 0;
}
2012-12-13 17:55
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用j1029721613在2012-12-13 17:55:48的发言:

  少了一些东西.. 一个分号和一个括号  以后要细心点
下面这个可以输出了

#include"stdio.h"
int main(void)
{
int a,b,c;
b=getchar();
a=(b-1)+'a'-'A';
c=(b+1)+'a'-'A';
if(a<'A'&&c>'Z')
printf("-");
printf("%c %c\n",a,c);
return 0;
}

上面这位仁兄,你这程序对吗?
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 小小战士 于 2012-12-13 18:04 编辑 ]

小小战士,战士中的战斗机!
2012-12-13 18:02
woshi菜鸟
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-12-11
收藏
得分:0 
我输出的结果和“小小战士”的一样就是出现不了‘-’
2012-12-13 18:12
woshi菜鸟
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-12-11
收藏
得分:0 
谢谢大家的帮助,搞定啦!
2012-12-13 18:14
快速回复:输出问题
数据加载中...
 
   



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

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