第1关:求最大值
1
- 任务要求
- 参考答案
- 评论9
任务描述
本小节需要你求3个整数的最大值。
编程要求
编写函数max(int a, int b, int c),求3个整数的最大值,并通过main函数进行调用。
注意:输入的整数之间用空格隔开。
效果如下: 输入:29 76 -18
输出:76
开始你的任务吧,祝你成功!
#include <iostream>
using namespace std;
int max(int a,int b,int c)
{
if(a>b)
{
if(a>c)
return a;
return c;
}
{
if(b>c)
return b;
return c;
}
}
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<max(a,b,c);
return 0;
}
第2关:时制转换
100
- 任务要求
- 参考答案
- 评论9
任务描述
本小节需要你完成将24小时制转换为12小时制的程序。
编程要求
编写函数convert(int &hour, int &minute, char &form),将24小时制转换为12小时制,如将14:25转换为2:25 PM,函数参数form取值用‘A’表示‘AM’,‘P’表示‘PM’。
因返回多个值,考虑传引用参数。
注意: 输入的时钟和分钟之间用空格隔开,输出格式为时钟:分钟 AM(或PM)。分钟和AM之间有一个空格。
效果如下: 输入:12 00
输出:12:0 PM
开始你的任务吧,祝你成功!
第2关:时制转换
100
- 任务要求
- 参考答案
- 评论9
任务描述
本小节需要你完成将24小时制转换为12小时制的程序。
编程要求
编写函数convert(int &hour, int &minute, char &form),将24小时制转换为12小时制,如将14:25转换为2:25 PM,函数参数form取值用‘A’表示‘AM’,‘P’表示‘PM’。
因返回多个值,考虑传引用参数。
注意: 输入的时钟和分钟之间用空格隔开,输出格式为时钟:分钟 AM(或PM)。分钟和AM之间有一个空格。
效果如下: 输入:12 00
输出:12:0 PM
开始你的任务吧,祝你成功!
#include <iostream>
using namespace std;
int convert(int&hour,int&minute,char&form);
int main()
{
// 请在此添加你的代码
/********** Begin ********/
int h,m;
char f;
cin>>h>>m;
convert(h,m,f);
if(f=='A'){
cout<<h<<<<":"<<" "<<m<<"AM";
}else{
cout<<H<<":"<<" "<<m<<"PM";
}
/********** End **********/
}
int convert(int&hour,int&minute,char&form)
{
// 请在此添加你的代码
/********** Begin ********/
if(hour>12){
hour=hour-12;
form='P';
}else{
if(hour==12) form='P';
}else{
if (hour==12) form='P';
else form='A';
}
return 0;
/********** End **********/
}
第3关:计算公式
100
- 任务要求
- 参考答案
- 评论9
任务描述
本关任务:编写一个编写递归函数fun(n)来计算一个分段函数。
编程要求
编写递归函数fun(n)实现如下图所示的func函数,其中n为正整数。
并编写测试函数main,输入正整数n,输出fun(n)的值。 例如:fun(6)=9,fun(8)=19。
测试说明
测试输入:6
预期输出:9
开始你的任务吧,祝你成功!
#include<iostream>
using namespace std;
int fun(int n);
int main()
{
// 请在此添加你的代码
/********** Begin ********/
int n{};
cin>>n;
cout<<fun(n);
/********** End **********/
}
int fun(int n)
{
// 请在此添加你的代码
/********** Begin ********/
int result {};
if(n<=3){
result=n;
}else{
result=fun(n-1)+fun(n-3);
}
return result;
/********** End **********/
}
第4关:函数实现组合数
100
- 任务要求
- 参考答案
- 评论9
任务描述
本关任务:编写一个用函数实现组合数的计算程序。
编程要求
组合数公式为:C(m,r)=m!/(r!(m-r)!),请用函数分别实现阶乘函数和组合数计算,只要求输出组合数
效果如下: 输入: 8 1
输出: 8
开始你的任务吧,祝你成功!
#include <iostream>
using namespace std;
int J(int x)
{
// 请在此添加你的代码
/********** Begin ********/
int j=1;
for(int i=1;i<=x;i++){
j=j*i;
}
return j;
/********** End **********/
}
int C(int m,int r)
{
// 请在此添加你的代码
/********** Begin ********/
return J(m)/(J(r)*J(m-r));
/********** End **********/
}
int main()
{
int m,r;
cin>>m>>r;
cout<<C(m,r);
return 0;
}
第5关:面积函数
100
- 任务要求
- 参考答案
- 评论9
任务描述
本关任务:编写一个能计算圆面积的和矩形面积的小程序。
编程要求
完成两个area函数的编写,一个函数根据半径r计算圆的面积并返回,一个根据边长a和b计算矩形的面积并返回,其中π为3.14。
输入: 半径 边长a 边长b 输出: 圆的面积 矩形面积
效果如下 输入: 1
1 2
输出: 3.14
2
开始你的任务吧,祝你成功!
#include<iostream>
using namespace std;
const double pi=3.14;
double area(double r){
return pi*r*r;
}
double area(double a,double b){
return a*b;
}
int main()
{
double r,a,b;
cin>>r;
cin>>a;
cin>>b;
cout<<area(r)<<endl;
cout<<area(a,b);
return 0;
}