• EDUCoder编程练习题解(编辑与调试)


    编辑与调试    顺序结构    选择结构一    选择结构二    循环一     循环二    函数
    递归与嵌套函数     一维数组和二维数组     字符数组      指针一    指针二     结构体      文件

    编辑与调试

    第1关:打印输出 Hello World

    任务描述
    本关任务:通过运行一个C语言程序,让你初步了解程序的运行方法。

    相关知识(略)
    编程要求
    请补充Begin-End之间的代码,使用printf()在屏幕上输出 Hello World 。

    测试说明
    平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
    视频

    输入:无

    输出:Hello World

    解题程序

    #include
    int main(void)
    {  
        /********* Begin *********/
        printf("Hello World\n");
    	
        /********* End *********/
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    第2关:打印输出图形

    任务描述
    本关任务:参照上面调试的程序,编写一个能输出规定图形的程序。

    编程要求
    编写一个C程序,输出以下图案,并上机调试通过。第一行开头有4个空格,第二行开头有3个空格,第三行有2个空格,第四行开头有一个空格,第五行开头没有空格,9个*。

       *
      ***
       OK
      Hello!
    *********
    
    • 1
    • 2
    • 3
    • 4
    • 5

    测试说明
    平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

    输入:无

    输出:

       *
      ***
       OK
      Hello!
    *********
    
    • 1
    • 2
    • 3
    • 4
    • 5

    提示
    本题通过执行多个printf函数输出每一行即可,暂时不用考虑使用循环。

    解题程序

    #include
    int main(void)
    {  	
    	/********* Begin *********/
        printf("    *\n");
    	printf("   ***\n");
        printf("  OK\n");
        printf(" Hello!\n");
        printf("*********\n");
    	/********* End *********/
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    第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
    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    解题程序二(宏定义实现)

    #include
    
    #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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    第4关:熟悉C语言调试过程

    任务描述
    本关任务:以下程序源代码有错误,请使用C语言的调试功能,检查程序的错误并更正,使之能正确运行。

    程序源代码:

    #include
    int main(void)
    {int  x;
        int y=2,z=3;
        scanf("%d",&x); 
        if(x=y+z)printf("*****");
        else  
           printf("#####" );
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    编程要求
    程序中要求键盘输入x的值,当x的值为5时输出*****,否则输出#####。

    输入:整数x的值。

    输出:当x的值为5时输出*****,否则输出#####。

    测试说明
    平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

    输入:5
    输出:*****

    问题分析
    预先给定的原来的程序有BUG,第6行的“=”应该改为“==”,并且这一行最后的“;”也要删除。
    另外原来程序的缩进的书写格式也不标准,需要修改整理。
    头文件的引号也需要修改为“<>”。

    解题程序

    #include 
    int main(void)
    {
    	/********* Begin *********/
        int  x;
        int y=2,z=3;
        scanf("%d",&x); 
        if (x==y+z)
            printf("*****");
        else  
            printf("#####" );
        return 0;
    	/********* End *********/
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    编辑与调试    顺序结构    选择结构一    选择结构二    循环一     循环二    函数
    递归与嵌套函数     一维数组和二维数组     字符数组      指针一    指针二     结构体      文件

  • 相关阅读:
    王道机试C++第 4 章 字符串:字符串内容续写几个小程序 Day30
    c高级 day1
    已解决 Java Error: Exception in thread ‘main‘ java.lang.ClassNotFoundException
    Gorm入门
    【多线程】线程池 详解
    翻译 | Kubernetes Operator 对数据库的重要性
    5G网络整体架构
    系统架构设计师职称考试知识结构图及学习笔记总结链接
    【Maven学习】3.6 实验六:测试依赖的范围
    【毕业设计】基于stm32的车牌识别 - 单片机 嵌入式 物联网 机器视觉
  • 原文地址:https://blog.csdn.net/tigerisland45/article/details/128085606