资源描述:
《中国大学MOOC 哈工大 C语言程序设计精髓第六周编程题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、6.1下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Inputerror!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。#include#includeintmain(){charscore[100];intflag=0,i,s;chargrade;printf("Pleaseinputscore:");while(1){flag=0;scanf("
2、%s",score);for(i=0;i='0'&&score[i]<='9'){continue;}else{flag=1;break;}}s=atoi(score);if(s<0
3、
4、s>100
5、
6、flag==1){printf("Inputerror!");printf("Pleaseinputscore:");continue;}else{break;}}s=atoi(score);if(s>=90){grade='A';}elseif(s>=80){grade='B';}elseif(s>=70){grade='C
7、';}elseif(s>=60){grade='D';}else{grade='E';}printf("grade:%c",grade);return0;}6.2编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)题目内容:编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。#include#includeintmain(){intn,a,i,j;doublep=0,q=0;printf("Inputa,n:");scanf("%d,%d",&a,&n);f
8、or(i=1;i<=n;i++){for(j=0,p=0;j
9、",&n);for(a=0;4*a<=n;a++)for(b=0;4*a+3*b<=n;b++)for(c=0;4*a+3*b+c/2<=n;c+=2)if(4*a+3*b+c/2==n&&c%2==0&&a+b+c==36){printf("men=%d,women=%d,children=%d",a,b,c);}}6.4编程输出某年某月有多少天(考虑到闰年)。(5分)题目内容:从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程。#includeintmain(){intyear,month,day;printf("Inputyear,mon
10、th:");scanf("%d,%d",&year,&month);switch(month){case1:day=31;break;case2:day=28;break;case3:day=31;break;case4:day=30;break;case5:day=31;break;case6:day=30;break;case7:day=31;break;case8:day=31;break;case9:day=30;break;case10:day=31;break;case11:day=30;break;case12:day=31;break;default:day=-1;prin
11、tf("Inputerror!");}if((year%4==0&&year%100!=0
12、
13、year%400==0)&&month==2)day=29;if(day!=-1)printf("%ddays",day);return0;}