哈工大 C语言程序设计精髓 MOOC慕课 6.docx
《哈工大 C语言程序设计精髓 MOOC慕课 6.docx》由会员分享,可在线阅读,更多相关《哈工大 C语言程序设计精髓 MOOC慕课 6.docx(5页珍藏版)》请在冰豆网上搜索。
哈工大C语言程序设计精髓MOOC慕课6
哈工大C语言程序设计精髓MOOC慕课6
\下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:
如果用户输入的是非法字符或者不在合理区间内的数据,则程序输出Inputerror!
,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。
目前程序存在错误,请将其修改正确。
并按照下面给出的运行示例检查程序。
*/ #include#includeintmain(){ charscore[100]; intflag=0,i,s; chargrade; printf(\ while
(1) { flag=0;scanf(\ for(i=0;i if(score[i]>=‘0’&&score[i] continue; } else { flag=1; break; } } s=atoi(score); if(s100||flag==1) {printf(\printf(\ continue; }else{ break; } } s=atoi(score); if(s>=90) { grade=‘A’; } elseif(s>=80) { grade=‘B’; } elseif(s>=70) { grade=‘C’; } elseif(s>=60) { grade=‘D’; } else { grade=‘E’; } printf(\ return0;}\ \#includeintmain(){ intn,a,i,j; doublep=0,q=0;printf(\scanf(\ for(i=1;i for(j=0,p=0;j p=p+a*pow(10,j); } q=p+q; } printf(\ return0;}\\ n块砖(27 程序的运行结果示例1:
Inputn(27 men=0,women=4,children=32 程序的运行结果示例2:
Inputn(27 men=3,women=3,children=30 程序的运行结果示例3:
Inputn(27 men=2,women=14,children=20men=7,women=7,children=22men=12,women=0,children=24 输入提示:
\
输入格式:
\ 输出格式:
\*/ #include\main(){ printf(\ longn,i,t,s=0;scanf(\ inta,b,c; for(a=0;4*a for(b=0;4*a+3*b for(c=0;4*a+3*b+c/2 if(4*a+3*b+c/2==n&&c%2==0&&a+b+c==36) { printf(\ }}\ \intmain() {intyear,month,day; printf(\scanf(\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;printf(\} if((year%4==0&&year0!
=0||year@0==0)&&month==2)if(day!
=-1) printf(\ day=29;return0;}\ \ unsignedintComputeAge(unsignedintn){}main(){ inti,j,k,s=23,n,c,age;scanf(\ printf(\}\ \intgys(inta,intb){ intr; r=a%b; if(r==0)returnb; elsereturngys(b,r);}main(){ printf(\ inta,b; scanf(\ if(a printf(\}\ \intmedian(inta,intb,intc){ if(a if(b else{returna } else { if(c>a){returna;}//c>a>belse{returnc>b?
c:
b;}//a>c>b:
a>b>c }}main(){ inta,b,c; scanf(\ printf(\}\ \main(){ printf(\ inta,b,c,n,s,x,y,z,flag=0;scanf(\
for(x=1;x if(x*100+y*10+z+y*100+z*11==n){ flag=1; a=x,b=y,c=z; break; } } } } if(flag) printf(\ elseprintf(\}\ \用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。
其中,n的值不超过10,n的值用户从键盘输入。
程序运行结果示例1:
Inputn:
3↙ Input3*3matrix:
123456789 Thetransposedmatrixis:
147 258 369 程序运行结果示例2:
Inputn:
2↙Input2*2matrix:
12↙45↙ Thetransposedmatrixis:
14 25 输入提示信息:
提示输入矩阵的阶数:
\ 提示输入矩阵数据:
\输入格式:
\ 输出提示信息:
\输出格式:
\#includeintmain(){printf(\ intn; scanf(\ printf(\ intm[n][n],i,j; for(i=0;i scanf(\ } } printf(\ for(i=0;i printf(\ } printf(\ } return0;}\ \用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。
其中,n的值不超过10,n的值用户从键盘输入。
程序运行结果示例1:
Inputn:
3↙Input3*3matrix:
123456789 Thetransposedmatrixis:
147 258 369 程序运行结果示例2:
Inputn:
2↙Input2*2matrix:
12↙45↙ Thetransposedmatrixis:
14 25 输入提示信息:
提示输入矩阵的阶数:
\ 提示输入矩阵数据:
\输入格式:
\ 输出提示信息:
\输出格式:
\#includeintmain(){ printf(\ intn,total=0,i,s=0,b=1,t; scanf(\ printf(\ for(i=2;i printf(\ } printf(\
return0;}\\ 一辆卡车违犯交通规则,撞人后逃跑。
现场有三人目击事件,但都没记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:
四位的车号刚好是一个整数的平方。
现在请根据以上线索帮助警方找出车号以便尽快破案。
[提示]:
假设这个4位数的前两位数字都是i,后两位数字都是j,则这个可能的4位数k=1000*i+100*i+10*j+j 式中,i和j都在0~9变化。
此外,还应使k=m*m,m是整数。
于k是一个4位数,所以m值不可能小于31。
输入格式:
无 输出格式:
\*/ #includeintmain(){ inti,j,k,m,tk,tm; for(i=0;i for(m=31;m tm=m; tk=k; break; } } } } printf(\ return0;}\\ 幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。
从键盘输入一个5×5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。
输入格式:
\输出格式:
如果是幻方矩阵,输出提示信息:
\矩阵元素的输出:
\ 如果不是幻方矩阵,输出提示信息:
\输入样例1:
17_24_1_8_1523_5_7_14_16 4_6_13_20_2210_12_19_21_311_18_25_2_9 (输人样例中“_”代表空格)输出样例1:
Itisamagicsquare!
**17**24***1**8**15**23***5***7**14**16***4***6**13**20**22**10**12**19**21***3**11**18**25***2***9(输出样例中“*”代表空格)输入样例2:
1_0_1_6_13_1_1_1_11_1_1_1_21_1_1_1_19_1_7_1_1 (输人样例中“_”代表空格)输出样例2:
Itisnotamagicsquare!
注意:
为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字 符串!
(输人样例中“_”代表空格,输出样例中“*”代表空格)*/ #includeintmain(){ inta[5][5],i,j,t,row[5]={0},col[5]={0},dl1=0,dl2=0,flag=1; for(i=0;i scanf(\ } } for(i=0;i for(i=0;i } for(i=0;i for(i=0;i if(col[i]!
=col[i+1]){ flag=0; break; } if(row[i]!
=row[i+1]){ flag=0; break; } } if(col[1]!
=row[1]){ flag=0; } if(dl1!
=dl2){ flag=0;
} if(dl1!
=co