解题思路以及注意事项:

  1. 本题主要了解scanf的用法,其格式为            scanf("%d或%c或%f(这里写入你想要输入的变量的格式)",&ch(这里写你想要把输入的值赋给的变量));

  2. 一定要注意输入格式不能错,整型用%d,字符型用%c,浮点型用%f。

  3. &一定不能掉了,掉了编译链接没问题,但运行的时候会崩溃。

实例代码:

#include"stdio.h"
int main()
{
    char ch1,ch2,ch3,ch4,ch5;
    scanf("%c",&ch1);
    scanf("%c",&ch2);
    scanf("%c",&ch3);
    scanf("%c",&ch4);
    scanf("%c",&ch5);
    printf("%c%c%c%c%c",ch1+4,ch2+4,ch3+4,ch4+4,ch5+4);
    return 0;
}

有什么不懂的可以在评论区评论

点赞(140)
 

0.0分

154 人评分

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

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

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

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

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

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

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

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

评论列表 共有 309 条评论

dongfang 4年前 回复TA
@dongfang #include<stdio.h> int main(void) { 	char c[5]; 	int i; 	for (i=0;i<5;i++) { 	scanf("%c",&c[i]); 	printf("%c",c[i]+4); } 	printf("
"); 	return 0; }
dongfang 4年前 回复TA
#include<stdio.h>
int main(void)
{
	char c[5];
	int i;
	for (i=0;i<5;i++)
{
	c[i]=getchar();
	printf("%c",c[i]+4);
}
	printf("\n");
	return 0;
}
薛牧岩 4年前 回复TA
#include <stdio.h>
int main()
{
	char c1,c2,c3,c4,c5;
	c1 = getchar();
	c2 = getchar();
	c3 = getchar();
	c4 = getchar();
	c5 = getchar();
	putchar(c1+4);
	putchar(c2+4);
	putchar(c3+4);
	putchar(c4+4);
	putchar(c5+4);
	printf("\n");
	return 0;
}
啊噗卡巴 4年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
	char c[5];
	int i;
	gets(c);
	for(i=0;i<5;i++)
	{
		c[i]+=4;
		printf("%c",c[i]);
	}
	printf("\n");
	return 0;
}
各位大佬帮我看看这个哪里有问题,在VC中能运行,提交显示运行错误,帮帮新手吧!
TTSV 4年前 回复TA
#include <stdio.h>
int main()
{
    char a, b, c, d, e;
    scanf("%c%c%c%c%c", &a,&b,&c,&d,&e);
    printf("%c%c%c%c%c", a+4,b+4 ,c+4 ,d+4 , e+4);
 	return 0;
}
你的名字 4年前 回复TA
@斤两 都说了是附初值
你的名字 4年前 回复TA
题中讲到了初始化赋值,初始化赋值,初始化赋值,没有说用scanf!&!&!&,咱们首先判断---
第一,开头的第一个字母是大写的,是大写的,那么代码中也必须对应大写字母。
第二,题中给出的输入和样例中间并没有要求有空格,不要多画蛇添足,记住一定要一模一样,不然会报错。
第三,题中还是没有要求用printf打印出赋值后的状态,那么就可以直接怼,每个数据类型的字符依次+4.
我的代码是这样:
	char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
	printf("%c%c%c%c%C", c1 + 4, c2 + 4, c3 + 4, c4 + 4, c5 + 4);
爱你一生 4年前 回复TA
可以去看一下OJ规则https://www.dotcpp.com/wp/811.html 因为OJ是逐字符比对!还是那四个字:一模一样!
所以任何花里胡哨的画龙点睛都是错的,在scanf前加一句printf请输入也是错的!
正确答案
#include <stdio.h>
int main()
{
      char  c1='C',c2='h',c3='i',c4='n',c5='a';//如果直接定义初始化就可以不使用scanf,直接输出;
      //scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
      printf("%c%c%c%c%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);
}
root 4年前 回复TA
心态崩溃,我考虑到了w、x、y、z超边界。为啥说我是错的。
Miraitowa✨ 4年前 回复TA
#include <stdio.h>
int main(){
	char c1,c2,c3,c4,c5;
    printf("请输入语言:");
    scanf("%c %c %c %c %c",&c1,&c2,&c3,&c4,&c5);
	printf("%c%c%c%c%c",c1+4,c2+4,c3+4,c4+4,c5+4);
	return 0;
}
为什么我这个去掉后面的return 0;才可以运行成功