目录
第1关:求最大值
任务描述
本小节需要你求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);
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<max(a,b,c);
return 0;
}
// 请在此添加你的代码
/********** Begin ********/
int max(int a,int b,int c)
{
if(a>b)
{
if(a>c)
return a;
return c;
}
else
{
if(b>c)
return b;
return c;
}
}
/********** End **********/
第2关:时制转换
任务描述
本小节需要你完成将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 a;
int b;
char c;
convert(a, b, c);
cout << a << ":" << b << " " << c << "M";
/********** End **********/
}
int convert(int&hour,int&minute,char&form)
{
// 请在此添加你的代码
/********** Begin ********/
cin >> hour >> minute;
int& printh=hour;
if(hour>12)
{
printh=hour-12;
form='P';
}
else if(hour==12)
{
printh=12;
form='P';
}
else
{
printh=hour;
form='A';
}
return printh;
/********** End **********/
}
第3关:计算公式
任务描述
本关任务:编写一个编写递归函数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 num,f;
cin >> num;
cout << fun(num) << endl;
/********** End **********/
}
int fun(int n)
{
// 请在此添加你的代码
/********** Begin ********/
if(n<=3)
{
return n;
}
else
{
return fun(n-1)+fun(n-3);
}
/********** End **********/
}
第4关:函数实现组合数
任务描述
本关任务:编写一个用函数实现组合数的计算程序。
编程要求
组合数公式为:C(m,r)=m!/(r!(m-r)!),请用函数分别实现阶乘函数和组合数计算,只要求输出组合数
效果如下:
输入: 8 1
输出: 8
#include <iostream>
using namespace std;
int J(int x)
{
// 请在此添加你的代码
/********** Begin ********/
int s=1;
for(int i=1;i<=x;i++)
{
s*=i;
}
return s;
/********** End **********/
}
int C(int m,int r)
{
// 请在此添加你的代码
/********** Begin ********/
int C;
C=J(m)/(J(r)*J(m-r));
return C;
/********** End **********/
}
int main()
{
int m,r;
cin>>m>>r;
cout<<C(m,r);
return 0;
}
第5关:面积函数
任务描述
本关任务:编写一个能计算圆面积的和矩形面积的小程序。
编程要求
完成两个area函数的编写,一个函数根据半径r计算圆的面积并返回,一个根据边长a和b计算矩形的面积并返回,其中π为3.14。
输入: 半径 边长a 边长b 输出: 圆的面积 矩形面积
效果如下
输入: 1
1 2
输出: 3.14
2
#include <iostream>
using namespace std;
/********** Begin ********/
int main()
{
double r;
cin >> r;
double a,b;
cin >> a >> b;
cout << 3.14*r*r << endl;
cout << a*b << endl;
return 0;
}
/********** End **********/