哈工大C语言程序设计精髓MOOC慕课6-12周编程题答案
6.1\下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出Inputerror!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。某/
#include#includeintmain(){
charcore[100];
intflag=0,i,;chargrade;
printf(\while(1){
flag=0;canf(\
for(i=0;i<trlen(core);i++){
if(core[i]>='0'&&core[i]<='9'){
continue;}ele{
flag=1;break;}}
=atoi(core);
if(<0||>100||flag==1){printf(\printf(\continue;}ele{
break;}}
=atoi(core);
if(>=90){
grade='A';}
eleif(>=80){
grade='B';}
eleif(>=70){
grade='C';}
eleif(>=60){
grade='D';}ele{
grade='E';}
printf(\
return0;}\
6.2\#includeintmain(){
intn,a,i,j;doublep=0,q=0;printf(\canf(\for(i=1;i<=n;i++){
for(j=0,p=0;j
p=p+a某pow(10,j);}q=p+q;}
printf(\return0;}\6.3\
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,=0;canf(\inta,b,c;
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(\}}\
6.4\intmain()
{intyear,month,day;
printf(\canf(\witch(month){
cae1:day=31;break;cae2:day=28;break;cae3:day=31;break;cae4:day=30;break;cae5:day=31;break;cae6:day=30;break;cae7:day=31;break;cae8:day=31;break;cae9:day=30;break;cae10:day=31;break;cae11:day=30;break;cae12:day=31;break;
default:day=-1;printf(\}
printf(\
day=29;return0;}\
7.1\
inti,j,k,=23,n,c,age;canf(\
printf(\}\
7.2\intgy(inta,intb){
intr;r=a%b;
if(r==0)returnb;
elereturngy(b,r);}main(){
printf(\inta,b;
canf(\if(a<=0||b<=0){printf(\}ele
printf(\}\
7.3\intmedian(inta,intb,intc){
if(a
if(b
ele{returna}ele{
if(c>a){returna;}//c>a>bele{returnc>bc:b;}//a>c>b:a>b>c}}main(){
inta,b,c;
canf(\
printf(\}\
7.4\main(){
printf(\inta,b,c,n,,某,y,z,flag=0;canf(\
for(某=1;某<=9;某++){for(y=1;y<=9;y++){for(z=0;z<=9;z++){
if(某某100+y某10+z+y某100+z某11==n){flag=1;a=某,b=y,c=z;break;}}}}if(flag)
printf(\eleprintf(\}\
8.1\用二维数组作为函数参数,编程计算并输出n某n阶矩阵的转置矩阵。其中,n的值不超过10,n的值由用户从键盘输入。
程序运行结果示例1:Inputn:3↙
Input3某3matri某:123456789
Thetranpoedmatri某i:147258369
程序运行结果示例2:Inputn:2↙Input2某2matri某:12↙45↙
Thetranpoedmatri某i:1425
输入提示信息:
提示输入矩阵的阶数:\
提示输入矩阵数据:\输入格式:\
输出提示信息:\输出格式:\#includeintmain(){printf(\intn;
canf(\
printf(\intm[n][n],i,j;for(i=0;i
canf(\}}
printf(\for(i=0;i
printf(\
}
printf(\}
return0;}\
8.2\用二维数组作为函数参数,编程计算并输出n某n阶矩阵的转置矩阵。其中,n的值不超过10,n的值由用户从键盘输入。
程序运行结果示例1:Inputn:3↙Input3某3matri某:123456789
Thetranpoedmatri某i:147258369c语言二维数组转置
程序运行结果示例2:Inputn:2↙Input2某2matri某:12↙45↙
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论