ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

留存,以后看

2021-11-14 14:32:52  阅读:182  来源: 互联网

标签:输出 以后 字母 后继 留存 前驱 ASCII 输入


不知道为什么自己写的不对,以后再来看问题。

1

7-4 输出英文字母的前驱和后继字母 (10 分)

从键盘输入一个英文字母,输出其前驱字母(即前一个字母)、后继字母(即后一个字母)及其ASCII值。比如输入的字母是b,则前驱字母是a,后继字母是c。而如果输入的字母是a,则前驱字母是z,后继字母是b;如果输入的字母是z,则前驱字母是y,后继字母是a。大写字母的前驱后继字母求法与小写字母相同。

输入格式:

输入一个英文字母。

输出格式:

第一行输出该字母的前驱字母及其ASCII值,第二行输出后继字母及其ASCII值,字母与ASCII值之间用一个空格分隔。

输入样例1:

b

结尾无空行

输出样例1:

a 97
c 99

结尾无空行

输入样例2:

a

结尾无空行

输出样例2:

z 122
b 98

结尾无空行

正确答案:

#include <stdio.h>
int main ()
{
    char m,f,l;
    m=getchar();
 f=m-1;
    l=m+1;
    
 if(m>='a'&&m<='z')
{
    if(f<'a')
        f='z';
    if(l>'z')
        l='a';
}

    else
{
    if(f<'A')
        f='Z';
    if(l>'Z')
        l='A';
}
            
    printf("%c %d\n",f,f);
    printf("%c %d\n",l,l);
    
   return 0; 
}

我的问题:

1.f<'a'能否直接写成当m='a'等等?(没过编译)

2.大佬的代码

if(f<'a')

f='z'-('a'-f)+1;

if(b>'z')

b='z'-f+'a'-1;

是什么意思?

标签:输出,以后,字母,后继,留存,前驱,ASCII,输入
来源: https://blog.csdn.net/mizen_/article/details/121317323

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有