《moocC语言第七周答案1.pdf》由会员分享,可在线阅读,更多相关《moocC语言第七周答案1.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、n 层嵌套平方根的计算(4 分)题目内容:编写程序利用递归法实现如下所示 n 层嵌套平方根的计算:递归函数原型:double Y(double x,int n);程序运行结果示例 1:Please input x and n:16,1Result=程序运行结果示例 2:Please input x and n:16,2Result=程序运行结果示例 3:Please input x and n:16,3Result=程序运行结果示例 4:Please input x and n:16,0Result=输入提示信息:输入提示信息:Please input x and n:输入格式输入格式:%lf
2、,%d输出格式:输出格式:Result=%.2fn#include#includedouble Y(double x,int n)if(n=0)return 0;else return(sqrt(x+Y(x,n-1);int main()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递归函数原型:in
3、t Sum(int n);程序运行结果示例 1:Please input n:5sum=15程序运行结果示例 2:Please input n:0data error!程序运行结果示例 3:Please input n:-3data error!输入提示信息:输入提示信息:Please input n:输入错误提示信息:输入错误提示信息:data error!n输入格式输入格式:%d输出格式:输出格式:sum=%dn#include int sum(int n)if(n1)return n+sum(n-1);else return 1;int main()int n;printf(Please
4、 input n:);scanf(%d,&n);if(n0)printf(sum=%dn,sum(n);else printf(data error!n);猴子吃桃程序_扩展 3(4 分)题目内容:题目内容:猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了 1 个。第二天早上将剩余的桃子又吃掉一半,并且又多吃了 1 个。此后每天都是吃掉前一天剩下的一半零一个。到第 n 天再想吃时,发现只剩下 1 个桃子,问第一天它摘了多少桃子为了加强交互性,由用户输入天数 n,即假设第 n 天的桃子数为 1。要求采用递归法求解。递归函数原型:int Monkey(int n,int x);函数功能:从第
5、n 天只剩下一个桃子反向逆推出第 1 天的桃子数程序运行结果示例程序运行结果示例 1 1:Input days n:5x=46程序运行结果示例程序运行结果示例 2 2:Input days n:10 x=1534输入提示信息:输入提示信息:Input days n:输入格式输入格式:%d输出格式:输出格式:x=%dn#includemain()int sum=1,n,i;printf(Input days n:);scanf(%d,&n);for(i=1;in;i+)sum=(sum+1)*2;printf(x=%dn,sum);网购打折商品(5 分)题目内容:题目内容:某网上购物网站对用户实
6、行优惠,买家购物货款标准如下:p 越多,则折扣越多。p100 元没有折扣100 元p200 元 5%折扣200 元p500 元 8%折扣500 元p1000 元 10%折扣1000 元p 15%折扣【提示】:从题意可以看出,折扣的变化是有规律的。当购物金额达到“100 元”的 2 倍、5 倍、10 倍时,折扣值就会发生变化。假如一个变量 c 代表 100 的倍数,则当 c1 时,无折扣;当 1c2 时,折扣 d=5%;当 2c5 时,折扣 d=8%;当5c10 时,折扣 d=10%;当 10c 时,折扣 d=15%。注:程序中与价格相关的数据类型为 float程序运行结果示例程序运行结果示例
7、1 1:Input payment:90price=程序运行结果示例程序运行结果示例 2 2:Input payment:100price=程序运行结果示例程序运行结果示例 3 3:Input payment:300price=程序运行结果示例程序运行结果示例 4 4:Input payment:1000price=程序运行结果示例程序运行结果示例 5 5:Input payment:price=输入提示:输入提示:Input payment:输入格式输入格式:%f输出格式:输出格式:price=%.1fn(#includeint main()int c;float b;注:等号左右均有空格)printf(Input payment:);scanf(%f,&b);c=b/100;if(c1)printf(price=%.1fn,b);else if(1=c&c2)printf(price=%.1fn,b*;else if(2=c&c5)printf(price=%.1fn,b*;else if(5=c&c10)printf(price=%.1fn,b*;else printf(price=%.1fn,b*;
限制150内