好文档 - 专业文书写作范文服务资料分享网站

2017 mooc C语言 第七周(2) 答案

天下 分享 时间: 加入收藏 我要投稿 点赞
10

递归法计算游戏人员的年龄

题目内容:

有n个人围坐在一起,问第n个人多大年纪,他说比第n-1个人大2岁;问第n-1个人,他说比第n-2个人大2岁,…..,问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,问第n个人多大

年纪。

递归函数原型:unsigned intComputeAge(unsigned int n);

提示:

计算年龄的递归公式为:

输入格式: “%u”

输出格式: “The person’s age is %u\\n”

输入样例1:

5↙ 输出样例1: The_person’s_age_is_18

输入样例2:

10↙ 输出样例2: The_person’s_age_is_28

#include

unsignedintComputeAge(unsignedint n);

intmain()

{

unsignedint age; scanf(\, &age);

printf(\, ComputeAge(age));

return0;

}

unsignedintComputeAge(unsignedint n)

{ if(n == 1) return10;

else {

returnComputeAge(n - 1)+2;

} }

? 1

递归法计算两个数的最大公约数

题目内容:

利用最大公约数的性质计算。对正整数a和b,当a>b时,若a中含有与b相同的公约数,则a中去掉b后剩余的部分a-b中也应含有与b相同的公约数,对a-b和b计算公约数就相当于对a和b计算公约数。反复使用最大公约数的上述性质,直到a和b相等为止,这时,a或b就是它们的最大公约数。这三条性质,

也可以表示为:

性质1 如果a>b,则a和b与a-b和b的最大公约数相同,即Gcd(a, b) = Gcd(a-b,

b)

性质2 如果b>a,则a和b与a和b-a的最大公约数相同,即Gcd(a, b) = Gcd(a,

b-a)

性质3 如果a=b,则a和b的最大公约数与a值和b值相同,即Gcd(a, b) = a = b

程序运行结果示例1: Input a,b:16,24↙

8

程序运行结果示例2:

Input a,b:-2,-8↙ Input error!

输入提示信息:”Input a,b:”

输入格式:”%d,%d”

输出格式:

输出最大公约数:”%d\\n” 输入错误提示信息:”Input error!\\n”

#include

intGcd(inti, int j);

intmain()

{ int a, b; int c;

printf(\); scanf(\%d,%d\, &a, &b);

c = Gcd(a, b); if (c == -1)

{

printf(\);

} else {

printf(\%d\\n\, c);

} return0;

}

intGcd(inti, int j)

{

if (i<= 0 || j <= 0)

{ return -1;

} else { if(i == j)

{ returni;

}

elseif (i> j)

{

returnGcd(i - j, j);

} else {

returnGcd(i, j - i);

} }

寻找中位数v1.0

题目内容:

编写一个函数返回三个整数中的中间数。函数原型为:int mid(int a, int b, int c);

函数功能是返回a,b,c三数中大小位于中间的那个数。

输入格式: “%d%d%d” 输出格式:”The result is %d\\n”

输入样例1: 12 6 18↙ 输出样例1: The_result_is_12 输入样例2: -9 7 -2↙ 输出样例2: The_result_is_-2

#include

intmid(int a, int b, int c);

intmain()

{ inti, j, k;

scanf(\%d%d%d\,&i, &j, &k);

printf(\%d\\n\, mid(i, j, k));

return0;

}

intmid(int a, int b, int c)

{

if((a < b && b < c) || (a > b && b > c))

{ return b;

} else {

returnmid(b, c, a);

} }

? 1

还原算术表达式

题目内容: 的值要求从键盘输入。

编写程序求以下算式中XYZ的值,其中两数XYZ与YZZ相加的和n(99< n< 1000)

程序运行结果示例1: Input n(n<1000):

532↙ X=3,Y=2,Z=1 程序运行结果示例2: Input n(n<1000):

977↙ Invalid

输入提示:”Input n(n<1000):\\n”

输入格式: “%d”

输出格式:”X=%d,Y=%d,Z=%d\\n” 计算不成功(无解)的输出提示:”Invalid\\n”

特别注意 x > 5 or y > 5 or z > 5;

2017 mooc C语言 第七周(2) 答案

递归法计算游戏人员的年龄题目内容:有n个人围坐在一起,问第n个人多大年纪,他说比第n-1个人大2岁;问第n-1个人,他说比第n-2个人大2岁,…..,问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,问第n个人多大年纪。递归函数原型:unsignedintComputeAge(unsi
推荐度:
点击下载文档文档为doc格式
6kl68279wb4c2db011p1797950lpza00fdj
领取福利

微信扫码领取福利

Scan me!

微信扫码分享

闃呰骞舵帴鍙椼€婄敤鎴峰崗璁€�
娉細鍚勭櫥褰曡处鎴锋棤鍏宠仈锛佽浠呯敤涓€绉嶆柟寮忕櫥褰曘€�


鐢ㄦ埛娉ㄥ唽鍗忚

涓€銆� 鏈綉绔欒繍鐢ㄥ紑婧愮殑缃戠珯绋嬪簭骞冲彴锛岄€氳繃鍥介檯浜掕仈缃戠粶绛夋墜娈典负浼氬憳鎴栨父瀹㈡彁渚涚▼搴忎唬鐮佹垨鑰呮枃绔犱俊鎭瓑鏈嶅姟銆傛湰缃戠珯鏈夋潈鍦ㄥ繀瑕佹椂淇敼鏈嶅姟鏉℃锛屾湇鍔℃潯娆句竴鏃﹀彂鐢熷彉鍔紝灏嗕細鍦ㄩ噸瑕侀〉闈笂鎻愮ず淇敼鍐呭鎴栭€氳繃鍏朵粬褰㈠紡鍛婄煡浼氬憳銆傚鏋滀細鍛樹笉鍚屾剰鎵€鏀瑰姩鐨勫唴瀹癸紝鍙互涓诲姩鍙栨秷鑾峰緱鐨勭綉缁滄湇鍔°€傚鏋滀細鍛樼户缁韩鐢ㄧ綉缁滄湇鍔★紝鍒欒涓烘帴鍙楁湇鍔℃潯娆剧殑鍙樺姩銆傜綉绔欎繚鐣欓殢鏃朵慨鏀规垨涓柇鏈嶅姟鑰屼笉闇€鐭ョ収浼氬憳鐨勬潈鍒┿€傛湰绔欒浣夸慨鏀规垨涓柇鏈嶅姟鐨勬潈鍒╋紝涓嶉渶瀵逛細鍛樻垨绗笁鏂硅礋璐c€�

鍏抽棴