【EduCoder答案】C/C++实训答案

编程入门 行业动态 更新时间:2024-10-25 04:25:02

【EduCoder<a href=https://www.elefans.com/category/jswz/34/1769768.html style=答案】C/C++实训答案"/>

【EduCoder答案】C/C++实训答案

简介

  • 答案查询的入口网页版

其他各类实训答案的目录见这里
答案获取的方法简介见这里

并不是所有的关卡都有答案,有些只有部分关卡有

在电脑网页界面的右侧,有个文章目录,可以在那里查一下要找的实训标题

C/C++相关实训答案

C&C++基本输入输出 >>>链接

第1关: 重要的事情说三遍

解题代码

// 包含标准输入输出函数库
#include <stdio.h>// 定义main函数
int main()
{// 请在下面编写将字符输出三遍的程序代码/********** Begin *********/char x = getchar();putchar(x);putchar(x);putchar(x);putchar('!');/********** End **********/return 0;
}
第2关: 整数四则运算表达式的输出格式控制

解题代码

//包含标准输入输出函数库
#include <stdio.h>int main()
{//声明两个整型变量,用于存储输入的两个整数int x,y;//请在Begin-End之间添加你的代码,按要求格式输出四则运算式子/********** Begin *********/scanf("%d%d",&x,&y);printf("%5d + %-5d = %10d\n", x, y, x + y);printf("%5d - %-5d = %10d\n", x, y, x - y);printf("%5d * %-5d = %10d\n", x, y, x * y);printf("%5d / %-5d = %10d", x, y, x / y);/********** End **********/return 0;
}
第3关: 你好,生日

解题代码

// 包含I/O流库iostream
#include <iostream>// 加载名字空间std
using namespace std; int main()
{// 声明三个变量,分别用来存储年、月、日int y, m, d;// 请在Begin-End之间添加你的代码,输入你的生日,并按指定格式输出信息。	/********** Begin *********/cin >> y >> m >> d;cout << "Hello! " << m << " " << d << " " << y;/********** End **********/return 0;
}
第4关: 不同精度的PI

解题代码

#include <iostream>// 包含流操作算子库
#include <iomanip>
using namespace std;// 定义常量PI,后面可以直接用PI代替后面的数值
#define PI 3.14159265358979323846int main()
{int n;// 请在Begin-End之间添加你的代码,输入n,按不同的精度输出 PI。/********** Begin *********/// 输入ncin >> n;// 输出PIcout << setiosflags(ios::fixed) << setprecision(n) << PI << endl;cout << setprecision(n + 1) << PI << endl;cout << setprecision(n + 2) << PI << endl;cout << setprecision(n + 3) << PI << endl;cout << setprecision(n + 4) << PI;/********** End **********/return 0;
}

C&C++控制结构实训 >>>链接

第1关: 分支结构:是闰年吗

解题代码

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;int main()
{int year;// 请在此添加代码,判断输入的年份是否位闰年,是则输出"Yes",否则输出"No"/********** Begin *********/cin >> year;if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)cout << "Yes";elsecout << "No";/********** End **********/return 0;
}
第3关: 分支结构:重排最大数

解题代码

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;int main()
{// n-输入的数,m-重排后的数int n, m;// 请在此添加代码,输入一个小于1000的正整数,重排出最大的数存入m中/********** Begin *********/cin >> n;int a = n % 10, b, c, t;n = n / 10;b = n % 10;c = n / 10;if (a < b){t = a; a = b; b = t;}if (a < c){t = a; a = c; c = t;}if (b < c){t = b; b = c; c = t;}m = a * 100 + b * 10 + c;/********** End **********/// 输出重排后的数cout << m << endl;return 0;
}
第4关: 循环结构:黑洞陷阱

解题代码

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;int main()
{int n;// 请在此添加代码,输出整数进入黑洞过程/********** Begin *********/cin >> n;int k = 1;while(1){int a = n % 10, b, c, t;n = n / 10;b = n % 10;c = n / 10;if(a < b){t = a; a = b; b = t;}if(a < c){t = a; a = c; c = t;}if(b < c){t = b; b = c; c = t;}t = a * 100 + c - c * 100 - a;if(t != 495)cout << k << ":" << a * 100 + b * 10 + c <<"-" << a + b * 10 + c * 100 << "=" << t << endl;if( t == 495)cout << k << ":" << a * 100 + b * 10 + c <<"-" << a + b * 10 + c * 100 << "=" << t << endl;k++;n = t;if(t == 495)break;}/********** End **********/return 0;
}
第5关: 循环结构:是素数吗

解题代码
本关任务对应参考代码实现如下:

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;int main()
{int n;// 请在此添加代码,输入正整数n,如果n是素数则输出“Yes”,否则输出“No”/********** Begin *********/cin >> n;if(n == 1){cout << "No";return 0;}int flag = 1;for(int i = 2; i * i <= n; i++)if(n % i == 0){flag = 0;break;}if(flag)cout << "Yes";elsecout << "No";/********** End **********/return 0;
}
第6关: 循环结构:素数和

解题代码
本关任务对应参考代码实现如下:

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;int main()
{int n, k;// 请在此添加代码,输入n和k,并输出n以内k个素数以及它们的和/********** Begin *********/cin >> n >> k;int t, m = 0, sum = 0;for(t = n; t >= 2; t--){int flag = 1;for(int i = 2; i * i <= t; i++)if(t % i == 0){flag = 0;break;}if(flag){cout << t << " ";m++;sum += t;if(m == k)break;}}cout << sum;/********** End **********/return 0;
}

C&C++函数实训 >>>链接

第1关: 登月纸桥

解题代码

#include <iostream>
using namespace std;// foldTimes-计算建纸桥的折叠次数
// 参数:dis-星际距离(千米),thick-纸的厚度(毫米)
// 返回值:建桥需要折叠的次数
int foldTimes(double dis, double thick);int main()
{double dis, thick;cin >> dis >> thick;cout << "需要折叠" << foldTimes(dis,thick) << "次" << endl;return 0;
}int foldTimes(double dis, double thick)
{// 请在这里补充代码,实现函数foldTimes/********** Begin *********/thick = thick / 1000.0;      // 调整单位为米dis = dis * 1000.0;     // 调整单位为米int t = 0;     // 折叠次数while(thick < dis){t++;thick *= 2;}return t;/********** End **********/
}
第2关: 几点几分了?

解题代码

#include <iostream>
using namespace std;void whatTime(int secs, int &h, int &m, int &s)
{// 请在这里补充代码,设计并实现函数whatTime,使main函数中的函数调用正确/********** Begin *********/h = secs / 3600;secs = secs % 3600;m = secs / 60;s = secs % 60;/********** End **********/
}int main()
{int secs;     // secs秒表上的秒数   int h, m, s;     // 当前时间:h-小时,m-分,s-秒cin >> secs;     // 输入秒表上的秒数whatTime(secs,h,m,s);     // 计算当前时间cout << h << ":" << m << ":" << s << endl;     // 输出当前时间return 0;
}
第3关: 这天星期几?

解题代码

#include <iostream>
using namespace std;// 函数leapYear
int leapYear(int y)
{if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)return 1;return 0;
}// 函数whatDay:计算某年某月某日是星期几
// 参数:year-年,month-月
// 返回值:--7分别表示星期一到星期日
int whatDay(int year, int month)
{// 请在这里补充代码,实现函数whatDay/********** Begin *********/// 1年月日是星期一int w = 1;int i;// 1到year-1都是全年for(i = 1; i < year; i++){if(leapYear(i))w += 366;elsew += 365;}switch(month){case 12:w += 30;case 11:w += 31;case 10:w += 30;case 9:w += 31;case 8:w += 31;case 7:w += 30;case 6:w += 31;case 5:w += 30;case 4:w += 31;case 3:if(leapYear(year))w += 29;elsew += 28;case 2:w += 31;case 1:     // 1月不加了;}w = w % 7;     // 得到-6,其中为星期天// 调整星期天if(w == 0)w = 7;return w;/********** End **********/
}int main()
{int y, m, xq;     // 年、月、星期几cin >> y >> m;     // 输入年月xq = whatDay(y,m);     // 计算星期几cout << y << "年" << m << "月1日是星期";     // 输出星期if(xq == 7)cout << "日" << endl;elsecout << xq << endl;return 0;
}
第4关: 打印日历

解题代码

// 包含两种I/O库,可以使用任一种输入输出方式
#include <stdio.h>
#include <iostream>
using namespace std;// 函数printMonth:按要求的格式打印某年某月的日历
// 参数:year-年,month-月
// 返回值:无
void printMonth(int year, int month);// leapYear:判断闰年
// 参数:y-年
// 返回值:1-是闰年,0-不是闰年
int leapYear(int y)
{if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)return 1;return 0;
}// 函数whatDay:计算某年某月的1号是星期几
// 参数:year-年,month-月
// 返回值:1到7--星期1到星期日
int whatDay(int year, int month)
{// 1年月日是星期一int w = 1;int i;// 1到year-1都是全年for(i = 1; i < year

更多推荐

【EduCoder答案】C/C++实训答案

本文发布于:2024-02-27 14:32:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706913.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:答案   实训   EduCoder

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!