EDUCoder编程练习题解(编辑与调试)
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EDUCoder编程练习题解(编辑与调试)相关的知识,希望对你有一定的参考价值。
编辑与调试 顺序结构 选择结构一 选择结构二 循环一 循环二 函数
递归与嵌套函数 一维数组和二维数组 字符数组 指针一 指针二 结构体 文件
编辑与调试
第1关:打印输出 Hello World
任务描述
本关任务:通过运行一个C语言程序,让你初步了解程序的运行方法。
相关知识(略)
编程要求
请补充Begin-End之间的代码,使用printf()在屏幕上输出 Hello World 。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
视频
输入:无
输出:Hello World
解题程序:
#include<stdio.h>
int main(void)
/********* Begin *********/
printf("Hello World\\n");
/********* End *********/
return 0;
第2关:打印输出图形
任务描述
本关任务:参照上面调试的程序,编写一个能输出规定图形的程序。
编程要求
编写一个C程序,输出以下图案,并上机调试通过。第一行开头有4个空格,第二行开头有3个空格,第三行有2个空格,第四行开头有一个空格,第五行开头没有空格,9个*。
*
***
OK
Hello!
*********
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:无
输出:
*
***
OK
Hello!
*********
提示
本题通过执行多个printf函数输出每一行即可,暂时不用考虑使用循环。
解题程序
#include<stdio.h>
int main(void)
/********* Begin *********/
printf(" *\\n");
printf(" ***\\n");
printf(" OK\\n");
printf(" Hello!\\n");
printf("*********\\n");
/********* End *********/
return 0;
第3关:求3个数的最大值
任务描述
本关任务:编写一个程序,输入a、b、c三个整数,输出其中最大值。
输入
输入一行数据,分别为a b c。
输出
a b c其中最大的数,不用换行。
如何求出最大值
求几个数的最大值?
三个数两两比较,将较大的数存入最大值变量max;
编程要求
根据提示,在右侧编辑器Begin-End中补充代码,计算并输出三个数的最大值。
测试说明
我会对你编写的代码进行测试:
测试输入:10,30,20
预期输出:max=30
测试输入:15,78,85
预期输出:max=85
提示:
注意输入输出格式。
解题程序一(逻辑判定计算)
#include<stdio.h>
int main(void)
/********* Begin *********/
int a, b, c, ans;
scanf("%d,%d,%d", &a, &b, &c);
if (a >= b && a >= c) ans = a;
else if (b >= c) ans = b;
else ans = c;
printf("max=%d\\n", ans);
/********* End *********/
return 0;
解题程序二(宏定义实现)
#include<stdio.h>
#define MAX(a, b) ((a) > (b) ? (a) : (b))
int main(void)
/********* Begin *********/
int a, b, c;
scanf("%d,%d,%d", &a, &b, &c);
printf("max=%d\\n", MAX(MAX(a, b), c));
/********* End *********/
return 0;
第4关:熟悉C语言调试过程
任务描述
本关任务:以下程序源代码有错误,请使用C语言的调试功能,检查程序的错误并更正,使之能正确运行。
程序源代码:
#include<stdio.h>
int main(void)
int x;
int y=2,z=3;
scanf("%d",&x);
if(x=y+z);
printf("*****");
else
printf("#####" );
return 0;
编程要求
程序中要求键盘输入x的值,当x的值为5时输出*****,否则输出#####。
输入:整数x的值。
输出:当x的值为5时输出*****,否则输出#####。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:5
输出:*****
问题分析
预先给定的原来的程序有BUG,第6行的“=”应该改为“==”,并且这一行最后的“;”也要删除。
另外原来程序的缩进的书写格式也不标准,需要修改整理。
头文件的引号也需要修改为“<>”。
解题程序
#include <stdio.h>
int main(void)
/********* Begin *********/
int x;
int y=2,z=3;
scanf("%d",&x);
if (x==y+z)
printf("*****");
else
printf("#####" );
return 0;
/********* End *********/
编辑与调试 顺序结构 选择结构一 选择结构二 循环一 循环二 函数
递归与嵌套函数 一维数组和二维数组 字符数组 指针一 指针二 结构体 文件
以上是关于EDUCoder编程练习题解(编辑与调试)的主要内容,如果未能解决你的问题,请参考以下文章