mooc C语言 第七周 答案_moocc语言答案
mooc C语言 第七周 答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“moocc语言答案”。
n层嵌套平方根的计算(4分)
题目内容:
编写程序利用递归法实现如下所示n层嵌套平方根的计算:
递归函数原型:double Y(double x, int n); 程序运行结果示例1: Please input x and n:16,1↙ Result=4.00
程序运行结果示例2: Please input x and n:16,2↙ Result=4.47
程序运行结果示例3: Please input x and n:16,3↙ Result=4.52
程序运行结果示例4: Please input x and n:16,0↙ Result=0.00
输入提示信息:“Please input x and n:” 输入格式: “%lf,%d” 输出格式: “Result=%.2fn” #include #include double Y(double x,int n){ if(n == 0)
return 0;
else
return(sqrt(x + Y(x,n-1)));} intmain(){
double a;int b;
double result;printf(“Please input x and n:”);scanf(“%lf,%d”,&a,&b);
result=Y(a,b);printf(“Result=%.2fn”,result);
return 0;}递归法求和(4分)
题目内容:
用递归方法计算如下求和计算 sum = 1 + 2 + 3 +....+ n 递归函数原型:intSum(int n);程序运行结果示例1: Please input n:5↙ sum=15
程序运行结果示例2: Please input n:0↙ data error!
程序运行结果示例3: Please input n:-3↙ data error!
输入提示信息:“Please input n:” 输入错误提示信息:“data error!n” 输入格式:“%d” 输出格式:“sum=%dn” #include “stdio.h” intsum(int n){
if(n>1)
return n+sum(n-1);
else
return 1;} intmain(){ int n;printf(“Please input n:”);scanf(“%d”,&n);
if(n>0)
{ printf(“sum=%dn”,sum(n));
}
else
{ printf(“data error!n”);
} }
猴子吃桃程序_扩展3(4分)
题目内容: 猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。此后每天都是吃掉前一天剩下的一半零一个。到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?为了加强交互性,由用户输入天数n,即假设第n天的桃子数为1。要求采用递归法求解。
递归函数原型:intMonkey(int n, int x);函数功能:从第n天只剩下一个桃子反向逆推出第1天的桃子数
程序运行结果示例1: Input days n:5↙ x=46
程序运行结果示例2: Input days n:10↙ x=1534
输入提示信息:“Input days n:” 输入格式: “%d” 输出格式:“x=%dn”
#include main(){ int sum=1,n,i;printf(“Input days n:”);scanf(“%d”,&n);
for(i=1;i
{
sum=(sum+1)*2;
} printf(“x=%dn”,sum);}网购打折商品V2.0(5分)
题目内容: 某网上购物网站对用户实行优惠,买家购物货款p越多,则折扣越多。标准如下:
p
没有折扣 100元≤p
5%折扣 200元≤p
500元≤p
10%折扣 1000元≤p
15%折扣
【提示】:从题意可以看出,折扣的变化是有规律的。当购物金额达到“100元”的2倍、5倍、10倍时,折扣值就会发生变化。假如一个变量c代表100的倍数,则当c
程序运行结果示例2: Input payment:100↙ price = 95.0
程序运行结果示例3: Input payment:300↙ price = 276.0
程序运行结果示例4: Input payment:1000↙ price = 850.0
程序运行结果示例5: Input payment:650.5↙ price = 585.5
输入提示:“Input payment:” 输入格式: “%f”
输出格式:“price = %.1fn”(注:等号左右均有空格)
#include intmain(){ int c;
float b;printf(“Input payment:”);scanf(“%f”,&b);
c=b/100;
if(c
{ printf(“price = %.1fn”,b);
}
else if(1
{ printf(“price = %.1fn”,b*0.95);
}
else if(2
{ printf(“price = %.1fn”,b*0.92);
}
else if(5
{ printf(“price = %.1fn”,b*0.9);
}
else
{ printf(“price = %.1fn”,b*0.85);
} }