第5周基础练习
将简单的功能,编写成一个个小的函数,形成自己的函数库,以后实现稍微复杂的功能,调用这些函数,会觉得简单、得心应手。
依照学术诚信条款,我保证此作业是本人独立完成的。
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。
1求两个数的和(10分)
题目内容:
编写函数,求两个实数的和。编写主函数,输入两个数,调用函数求和,在主函数中显示结果。建议函数名mysum。
输入:两个实数,用逗号隔开。
输出:一个实数。
注意,本题的关键不是求和,关键是要用函数实现。
样例1输入:
1.2 2.4
样例1输出:
3.6
时间限制:500ms内存限制:32000kb
C++
#include <iostream>
using namespace std;
double mysum(double a,double b){
return a+b;
}
int main(){
double a,b;
cin>>a>>b;
cout<<mysum(a,b);
return 0;
}
用例测试结果 运行时间 占用内存 提示 得分
用例1通过 2ms 372kb
3
用例2通过 2ms 256kb
3
用例3通过 2ms 368kb
2
用例4通过 2ms 368kb
2
提交答案本次得分/总分:10.00/10.00分
2求绝对值的函数(10分)
题目内容:
编写函数,求实数x的绝对值。在主函数中输入实数x,调用函数求绝对值,在主函数中输出。建议函数名 myfabs。
输入:一个实数
输出:绝度值
【注意】不用系统库函数,自己实现,返回绝对值,在主函数中输出!
样例1输入:
-1.25
样例1输出:
1.25
时间限制:500ms内存限制:32000kb
C++
#include <iostream>
using namespace std;
double myabs(double a){
if(a<0)a=0-a;
return a;
}
int main(){
double a;
cin>>a;
cout<<myabs(a);
return 0;
}
用例测试结果 运行时间 占用内存 提示 得分
用例1通过 2ms 236kb
3
用例2通过 2ms 256kb
3
用例3通过 3ms 372kb
2
用例4通过 2ms 236kb
2
提交答案本次得分/总分:10.00/10.00分
3x的k次方(10分)
题目内容:
编写函数,求x的k次方,k为整数(可正、可负、可0),0的任何次方为0,任何非0数的0次方为1。编写主函数,输入x和k,调用函数计算x的k次方,在主函数中输出。结果为实数。建议函数名mypow。
输入:x和k,用空格隔开。x为实数,k为整数。
输出:实数,x的k次方。
【注意】用函数实现,使用循环连乘或连除,不使用系统的库函数pow。
样例1输入:
2 -2
输出:
样例1输出:
0.25
样例2输入:
2 3
样例2输出:
8
时间限制:500ms内存限制:32000kb
C++
#include <iostream>
using namespace std;
double mypow(double a,int k){
if(a==0)return 0;
if(k==0)return 1;
if(k<0)a=1/a*mypow(a,k+1);
if(k>1)a*=mypow(a,k-1);
return a;
}
int main(){
double a;int k;
cin>>a>>k;
cout<<mypow(a,k);
return 0;
}
用例测试结果 运行时间 占用内存 提示 得分
用例1通过 19ms 256kb
1
用例2通过 2ms 224kb
1
用例3通过 2ms 236kb
1
用例4通过 2ms 256kb
1
用例5通过 2ms 236kb
1
用例6通过 2ms 256kb
1
用例7通过 2ms 364kb
1
用例8通过 2ms 364kb
1
用例9通过 2ms 256kb
1
用例10通过 2ms 256kb
1
提交答案本次得分/总分:10.00/10.00分
4求n!的函数(10分)
题目内容:
编写函数,求n!,0!=1。编写主函数,输入n