第1题
第2题
根据最大公约数的如下3条性质,采用递归法编写计算最大公约数的函数Gcd(),在主函数中调用该函数计算并输出从键盘任意输入的两正整数的最大公约数。 性质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 代码如下,请补充程序中缺少的内容。 #include <stdio.h> int Gcd(int a, int b); int main() { int a, b, c; printf("Input a,b:"); scanf("%d,%d", &a, &b); c = Gcd(a, b); if (_________) printf("Greatest Common Divisor of %d and %d is %d\n", a, b, c); else printf("Input number should be positive!\n"); return 0; } int Gcd(int a, int b) { if (_______________) return -1; if (a == b) return __________; else if (a > b) return __________; else return ___________; }
A、第9行: c!= -1 第18行: a <= 0 || b 第21行: a 第23行: gcd(a - b, b) 第25行: gcd(a, a)> B、第9行: c== -1 第18行: a <= 0 && b 第21行: a 第23行: gcd(a - b, b) 第25行: gcd(a, a)> C、第9行: c!= -1 第18行: a <= 0 && b 第21行: 第23行: gcd(a, - a) 第25行: gcd(a b, b)> D、第9行: c== -1 第18行: a <= 0 || b 第21行: a 第23行: gcd(a, - a) 第25行: gcd(a b, b)>
第3题
第4题
第5题
第6题
猜数游戏:程序利用随机函数产生一个[1,10]内的随机整数,让用户反复猜测,直到猜对为止,程序能提示猜数范围,并统计猜数次数。 甲乙二人先后进行猜数游戏,记录二人猜中花费的次数。比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 请按要求编程: 1、补充完善下面的int guess( )函数,函数的功能是: 随机函数先产生一个[1,10]内的随机整数,让用户输入猜测的数,当输入的数比随机数大时,输出提示“大了”;当输入的数比随机数小时,输出提示“小了”,让用户反复猜,直到猜对为止。该函数要求记录猜数的次数。返回值为猜中的数。 #include <stdio.h> #include <stdlib.h> #include <time.h> int guess() { int magic; //magic用于保存随机数 srand(time(0)); //用系统时间初始化随机函数 magic=rand()%10+1; //产生一个1到10的随机整数 .......... //请完善函数的功能 } 2、编写main()函数,完成如下功能: 输出提示:请甲开始猜数。 调用guess函数,获得甲猜中的数、猜的次数,并输出。 输出提示:请乙开始猜数。 调用guess函数,获得乙猜中的数、猜的次数,并输出。 比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 输入、输出样例:提示: 1、随机函数每次产生的数不同,甲、乙要猜的数可能不同 2、guess函数只能用return语句返回一个值(猜中的数),猜中的次数无法直接return,可以设计1个全局变量,用于保存每次调用guess求出的猜中次数。 (可参阅附加例题“歌唱比赛程序“中全局变量min或max的作用) (也可参考本周课件“变量的作用域”中第一个学习内容“请先动手做2---”中的例题。)
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!