解题思路:        题目:要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
                            例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。
                            请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变                                    为’G’、’l’、’m’、’r’、’e’,并输出。

                            输入:China

                            输出:Glmre


注意事项:学会使用scanf对于字符数组的使用,但是现在不是非常推荐这么使用,防止输入大于字符数组内存,因为如果输入大于内存,则会报错                  

//fgets(str, sizeof(str), stdin)

//第一个参数:存放字符串的数组

//第二个参数:最多能读多少字符(强烈推荐用 sizeof(str))

//第三个参数:从哪里读(stdin 表示键盘输入)


参考代码:

#include <stdio.h>

int main()

{

        char a[5];

        scanf("%s",a);

        //可替换为fgets(a, sizeof(a), stdin);
        //同时修改char a[5];为char a[6];

        for(int i =0;i<5;i++)

        {

            a[i]+=4;

        }

        puts(a);


        return 0;

}

//如果输入China,刚好6个字符,第6个为空格,没有产生报错
//如果输入Chinas,刚好7个字符,第7个为空格,产生报错,*** stack smashing detected ***: terminated堆栈溢出


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论