EDUCoder编程练习题解(顺序结构)

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EDUCoder编程练习题解(顺序结构)相关的知识,希望对你有一定的参考价值。

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

顺序结构

第1关:加法运算

任务描述
本关任务:写一个加法程序,输入整数a,b,输出他们的和。

编程要求
请补充Begin-End之间的代码,写一个加法程序,输入整数a,b,输出他们的和。

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

输入格式:scanf(“%d,%d”,&a,&b);

输出格式:printf(“%d+%d=%d\\n”,a,b,c);

测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:3,4
样例输出:3+4=7

解题程序

#include <stdio.h>
int main(void)
  
    int a,b,c; 
    //Please input a,b:
	/*********Begin*********/
	scanf("%d,%d", &a, &b);  
	c = a + b;
    printf("%d+%d=%d\\n", a, b, c);  
	/*********End**********/ 
    return 0;

第2关:不使用第3个变量,实现两个数的对调

任务描述
本关任务:下列程序是不用第三个变量,实现将两个数进行对调的操作。
程序代码如下:

#include <stdio.h>
int main(void)

	int a,b;printf(“Enter a and b:);
	scanf(%d%d”,&a,&b)printf(“a=%d b=%d\\n”,a,b);
    a=    ①    ;b=    ②    ;a=     ③     ;
    printf(“a=%d  b=%d\\n”,a,b)return 0;
 

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。

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

输入:7 85
输出:
a=7 b=85
a=85 b=7

解题程序一(真正不使用中间变量)

#include<stdio.h>
int main(void)
  
	int a,b;
	//Enter a and b:
    scanf("%d%d",&a,&b); 
    printf("a=%d b=%d\\n",a,b);
	/*********Begin*********/
	a ^= b; 
	b ^= a;
    a ^= b;
	/*********End**********/
	printf("a=%d  b=%d\\n",a,b);  
    return 0;

解题程序二

#include<stdio.h>
int main(void)
  
	int a,b;
	//Enter a and b:
    scanf("%d%d",&a,&b); 
    printf("a=%d b=%d\\n",a,b);
	/*********Begin*********/
	a = a ^ b; 
	b = b ^ a;
    a = a ^ b;
	/*********End**********/
	printf("a=%d  b=%d\\n",a,b);  
    return 0;

解题程序三

#include<stdio.h>
int main(void)
  
	int a,b;
	//Enter a and b:
    scanf("%d%d",&a,&b); 
    printf("a=%d b=%d\\n",a,b);
	/*********Begin*********/
	a = a - b; 
	b = b + a;
    a = -(a - b);
	/*********End**********/
	printf("a=%d  b=%d\\n",a,b);  
    return 0;

第3关:用宏定义常量

任务描述
本关任务:已知某物品单价为30,数量为x。求商品的总价钱。用宏定义物品的单价。

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,用宏定义物品的单价。

输入:一个整数x,代表物品的数量。

输出:输出总价格。

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

样例输入:
5
样例输出:
150

解题程序

#include <stdio.h>
#define PRICE 30
int main(void)
  
	/*********Begin*********/
	int x;
    scanf("%d", &x);  
	printf("%d\\n", x * PRICE);
	/*********End**********/ 
    return 0;

第4关:数字分离

任务描述
输入一个三位数,分别求出x的各位数字,十位数字,百位数字的值。

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,输入一个三位数,分别求出x的各位数字,十位数字,百位数字的值。

输入:一个三位数

输出:输出该数字的百位,十位,个位,数字之间用一个空格隔开。

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

样例输入:
123

样例输出:
1 2 3

问题分析
进制问题,怎样取出10进制数的各位数字。

解题程序

#include <stdio.h>
int main(void)
  
	/*********Begin*********/
	int a;  
	scanf("%d", &a);
    printf("%d %d %d\\n", a / 100, a / 10 % 10, a % 10);
	/*********End**********/ 
    return 0;

第5关:计算总成绩和平均成绩

任务描述
本关任务:编程求从键盘上输入一个学生的五门成绩,计算出该学生的总成绩和平均成绩。

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,编程求从键盘上输入一个学生的五门成绩,计算出该学生的总成绩和平均成绩。

输入:五个整数

输出:总成绩和平均成绩,其中平均成绩保留小数点后两位。

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

样例输入:
60 70 80 90 100

样例输出
400 80.00

问题分析
一般情况下,浮点使用double类型进行计算。

解题程序

#include <stdio.h>
int main(void)
  
	/*********Begin*********/
    int a, i, sum = 0;
	for (i = 1; i <=5; i++) 
        scanf("%d", &a);
        sum += a;
    

	printf("%d %.2f\\n", sum, (double) sum / 5); 
	/*********End**********/ 
    return 0;

第6关:求三角形的面积

任务描述
本关任务:编程求以a、b、c为边长的三角形的面积area。

相关知识
三角形面积计算公式为:
假设三角形三条边长分别为a、b、c,其中s=(a+b+c)/2,则面积:

a r e a = s ( s − a ) ( s − b ) ( s − c area=\\sqrts(s-a)(s-b)(s-c area=s(sa)(sb)(sc

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,编程求以a、b、c为边长的三角形的面积area。

输入:a b c三角形的三条边,可以是小数;

输出:三角形面积,保留3位小数。

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

样例输入:
3 4 5

样例输出:
6.000

解题程序

#include <stdio.h>
#include <math.h>
int main(void)
  
	/*********Begin*********/
	double a, b, c;
    scanf("%lf%lf%lf", &a, &b, &c);
    double s = (a + b + c) / 2;
	printf("%.3f\\n", sqrt(s * (s - a) * (s - b) * (s - c)));
	/*********End**********/ 
    return 0;

第7关:立体几何计算题

任务描述
本关任务:设圆半径r,圆柱高h , 求圆周长C1,半径为r的圆球表面积Sb,圆半径r,圆柱高为h的圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时取小数点后两位数字。请编程序。 PI=3.14

编程要求
输入:两个double型浮点数,r和h;

输出:圆周长C1、圆球表面积Sb、圆柱体积Vb。 保留两位小数,每个结果后换行。

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

样例输入:
1.5,3

样例输出:
C1=9.42
Sb=28.26
Vb=21.20

提示

圆球表面积计算公式为s=4πr2,r为球的半径。

圆柱体体积计算公式为:V=πr2h,r为半径,h为高。

解题程序

#include <stdio.h>

#define PI 3.14

int main(void)
  
	/*********Begin*********/
	double r, h;
    scanf("%lf,%lf", &r, &h);  
	printf("C1=%.2f\\nSb=%.2f\\nVb=%.2f\\n", 2 * PI * r, 4 * PI * r * r, PI * r * r * h); 
	/*********End**********/ 
    return 0;

第8关:计算两个正整数的最大公约数

任务描述
编程计算两个正整数的最大公约数。其中求最大公约数的函数原型已经给出,请在主函数中编程调用函数,输出最大公约数。

程序的运行示例:
12,3↙
3
####函数原型说明
求最大公约数的函数原型如下:
int MaxCommonFactor( int a, int b);
返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是-1。
参数:a,b是两个整型数

相关知识
本任务主要考察函数的调用方法。
####编程要求
根据提示,在右侧编辑器Begin-End处补充代码,编程计算两个正整数的最大公约数。

输入:输入格式:“%d,%d”
输出:输出格式:“%d\\n”
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
467,465
样例输出:
1

解题程序

#include<stdio.h>
int MaxCommonFactor( int a, int b)
 
    int c; 
    if (a <= 0 || b <= 0) 
        return -1; 
    while (b) 
        c = a % b; 
        a = b;
        b = c;
     
    return a; 
   
int main(void)
  
	  /*********Begin*********/
	  int m, n;
    scanf("%d,%d", &m, &n);
	  printf("%d\\n", MaxCommonFactor(m, n));
	  /*********End**********/ 
    return 0;

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

以上是关于EDUCoder编程练习题解(顺序结构)的主要内容,如果未能解决你的问题,请参考以下文章

EDUCoder编程练习题解(顺序结构)

EDUCoder编程练习题解(结构体)

EDUCoder编程练习题解(文件)

EDUCoder编程练习题解(选择结构一)

EDUCoder编程练习题解(选择结构一)

EDUCoder编程练习题解(选择结构一)