中国大学MOOC哈工大C语言程序设计精髓第六十二周编程题答案_第1页
中国大学MOOC哈工大C语言程序设计精髓第六十二周编程题答案_第2页
中国大学MOOC哈工大C语言程序设计精髓第六十二周编程题答案_第3页
中国大学MOOC哈工大C语言程序设计精髓第六十二周编程题答案_第4页
中国大学MOOC哈工大C语言程序设计精髓第六十二周编程题答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.1 下面代码的功能是将百分制成绩转换为 5 分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是 a,或者 102,或-45 等) ,则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为 5 分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。#include#include int main()char score100;int flag = 0, i, s;char grade;printf(“Please input score:n“);while (1)flag=0;scanf(“%s“, score);for (i = 0; i = 0 printf(“Please input score:n“);continue;elsebreak;s = atoi(score);if (s = 90)grade = A;else if (s = 80)grade = B;else if (s = 70)grade = C;else if (s = 60)grade = D;elsegrade = E;printf(“grade: %cn“, grade);return 0;6.2 编程计算 a+aa+aaa+aaa(n 个 a)的值(4 分)题目内容:编程计算 a+aa+aaa+aaa( n 个 a)的值,n 和 a 的值由键盘输入。例如,当 n=4,a=2,表示计算2+22+222+2222 的值。#include#includeint main()int n,a,i,j;double p=0,q=0;printf(“Input a,n:n“);scanf( “%d,%d“,for(i=1;iint main()int year,month,day;printf(“Input year,month:n“);scanf(“%d,%d“,switch(month)case 1: day=31;break;case 2: day=28;break;case 3: day=31;break;case 4: day=30;break;case 5: day=31;break;case 6: day=30;break;case 7: day=31;break;case 8: day=31;break;case 9: day=30;break;case 10: day=31;break;case 11: day=30;break;case 12: day=31;break;default:day=-1;printf(“Input error!n“);if(year%4=0if (day!=-1)printf(“%d daysn“,day);return 0;7.1 递归法计算游戏人员的年龄( 4 分)题目内容:有 n 个人围坐在一起,问第 n 个人多大年纪,他说比第 n-1 个人大 2 岁;问第 n-1 个人,他说比第 n-2 个人大 2 岁 ,.,问第 3 个人,他说比第 2 个人大 2 岁;问第 2 个人,他说比第 1 个人大 2 岁。第 1 个人说自己 10 岁,问第 n 个人多大年纪。递归函数原型:unsigned int ComputeAge(unsigned int n);提示:计算年龄的递归公式为:#includeunsignedint ComputeAge(unsignedint n)main()int i, j, k, s = 23, n, c, age;scanf(“%d“, printf(“The persons age is %un“,8+2*n);7.2 递归法计算两个数的最大公约数( 4 分)题目内容:利用最大公约数的性质计算。对正整数 a 和 b,当 ab 时,若 a 中含有与 b 相同的公约数,则a 中去掉 b 后剩余的部分 a-b 中也应含有与 b 相同的公约数,对 a-b 和 b 计算公约数就相当于对 a 和 b 计算公约数。反复使用最大公约数的上述性质,直到 a 和 b 相等为止,这时,a 或 b就是它们的最大公约数。这三条性质,也可以表示为: 性质 1 如果 ab,则 a 和 b 与 a-b 和 b 的最大公约数相同,即 Gcd(a, b) = Gcd(a-b, b)性质 2 如果 ba,则 a 和 b 与 a 和 b-a 的最大公约数相同,即 Gcd(a, b) = Gcd(a, b-a)性质 3 如果 a=b,则 a 和 b 的最大公约数与 a 值和 b 值相同,即 Gcd(a, b) = a = b#includeint gys(int a,int b)int r;r=a%b;if(r=0) return b;elsereturn gys(b,r);main()printf(“Input a,b:“);int a,b;scanf(“%d,%d“, if (aint median(int a, int b, int c)if(aa)return a;/cabelsereturn cb? c: b;/acb: abcmain()int a,b,c;scanf(“%d%d%d“, printf(“The result is %dn“,median (a,b,c);7.4还原算术表达式(4 分)题目内容:编写程序求以下算式中 XYZ 的值,其中两数 XYZ 与 YZZ 相加的和 n(99main()printf(“Input n(nint main()printf(“Input n:“);int n;scanf(“%d“,printf(“Input %d*%d matrix:n“,n,n);int mnn,i,j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论