本关任务:给定程序中,函数 fun 的功能是根据形参 i 的值返回某个函数的值。
注意:请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 中修改你编写的若干语句,错误通常在/found/注释行的下一行。
输入两个值。
输出格式函数计算之后返回的值。
输入输出样例 输入15.000000 3.000000
输出140.000000
#include
double f1(double x) {
return x*x;
}
double f2(double x,double y) {
return x*y;
}
/********found********/
___1___ fun(int i,double x,double y) {
if (i==1)
/********found********/
return ___2___(x);
else
/********found********/
return ___3___(x,y);
}
void main() {
double x1,x2,r;
scanf("%lf%lf",&x1,&x2);
r=fun(1,x1,x2);
r+=fun(2, x1,x2);
printf("%f",r);
}
答案
#include
double f1(double x){
return x*x;
}
double f2(double x,double y) {
return x*y;
}
/********found********/
double fun(int i,double x,double y){
if (i==1)
/********found********/
return f1(x);
else
/********found********/
return f2(x,y);
}
int main() {
double x1,x2,r;
scanf("%lf%lf",&x1,&x2);
r=fun(1,x1,x2);
r+=fun(2,x1,x2);
printf("%f",r);
}
二、题目描述
输入一个大于 0 的整数 n,计算如下多项式, q = 1 / (1 * 2) + 1 / (2 * 3) + 1 / (3 * 4) + ··· + 1 / (n * (n + 1)) 输出结果 q,保留 6 位小数。
输入格式一个整数。
输出格式一个小数,保留 6 位小数。
输入输出样例 输入1
输出0.500000
说明/提示q = 1 / (1 x 2) = 0.5。
#include
int main() {
int n,j;
double result,temp;
scanf("%d",&n);
if(n<=0) return 0;
result=0;
for(int i=1;i<=n;i++){
j=i+1;
temp=1.0/(i*j);
result=result+temp;
}
printf("%.6f",result);
}
temp=1.0/(ij);不能写错了,如果写的是1/(ij);结果就会变成0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)