解题思路:

注意事项:

参考代码:

#include <stdio.h>

#include <string.h>

int main(void)

{

    char a[100];

    gets(a);

    for(int i=0;i<strlen(a);i++){

        if(a[i]>='a'&&a[i]<'z'){

            a[i]=a[i]+1;

        }

        if(a[i]=='z'){

            a[i]='a';

        }

}

    puts(a);

    return 0;

}


点赞(0)
 

0.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 13 条评论

想学会c语言的菜鸟 3年前 回复TA
@陆崇瑞 可能是系统例程不给输入y,奇怪
想学会c语言的菜鸟 3年前 回复TA
@陆崇瑞 但是系统判断会过,不知道为什么
想学会c语言的菜鸟 3年前 回复TA
@陆崇瑞 你和楼主都没发现你俩都存在一个问题吗,后面应该是else if,否则如果输入字符是y的时候,判断+1变为z,马上下面会接着判断z+1变为a;而且你的后面还有判断a的,所以a+1会输出b的啊
陆崇瑞 3年前 回复TA
@陆崇瑞 不好意思,我当时没看到“=”,真是抱歉!
白苏 3年前 回复TA
@陆崇瑞 @uq_89395554311 >= &#039;a&#039;
白苏 3年前 回复TA
@陆崇瑞 @uq_89395554311 不对啊 我for循环里面的if 判定条件是<= &#039;a&#039;
白苏 3年前 回复TA
@陆崇瑞 哦哦哦  谢谢 忘了 没注意  谢谢提醒
陆崇瑞 3年前 回复TA
@陆崇瑞 头文件自己加。
陆崇瑞 3年前 回复TA
兄弟,你解决了z,但还没解决a。代码应该这样吧:
int main()
{
int i,n;
char a[100];
gets(a);
n=strlen(a);
for(i=0;i<n;i++)
{
if('a'<a[i]&&a[i]<'z')
{
a[i]=a[i]+1;
}
if(a[i]=='z')
{
a[i]='a';
}
if(a[i]=='a')
{
a[i]='b';
}
}
puts(a);
return 0;
}
白苏 3年前 回复TA
@阳春 但是输入字符串的长度又不确定,for循环的循环次数也就不确定,所以用puts()方法 更快捷一点