- 2022-04-09 发布 |
- 37.5 KB |
- 45页



申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
c语言实例教程 课后题答案
第4章选择结构一.选择题1、D2、C3、B4、B5、C6、C7、C8、D9、C10、A11、A12、D13、B14、C二.填空题1、02、013、max=124、end5、d=206、17、70~848、firstErrorthird三.编程题1.由键盘输入三个学生成绩,求平均成绩,并找出最高成绩。程序:main(){floatx,y,z;floatmax,avg;printf(″请输入三个数x,y,z:″);scanf(″%f,%f,%f″,&x,&y,&z);max=x;if(y>max)max=y;if(z>max)max=z;avg=(x+y+z)/3;printf(”平均成绩=%5.2f,最高成绩=%5.2fn”,avg,max);}2.有一个函数:x(x<1)y=2x-1(1≤x<10)3x-11(x≥10)写一程序,输入x,输出y值。main(){intx,y;printf(”inputx:”);scanf(”%d”,&x);if(x<1){y=x;printf(”x=%d,y=x=%dn”,x,y);}elseif(x<10){y=2*x-1;printf(”x=%d,y=2*x-1=%dn”,x,y);45n}else{y=3*x-11;printf(”x=%d,y=3*x-11=%dn”,x,y);}}3.编写程序,输入一位学生的生日,并输入当前的日期,输出该生的实足年龄。main(){intage,y1,m1,d1,y2,m2,d2;printf(”输入生日日期(年、月、日):”);scanf(”%d%d%d”,&y1,&m1,&d1);printf(”输入当前日期(年、月、日):”);scanf(”%d%d%d”,&y2,&m2,&d2);age=y2-y1;if(m1>m2)age--;if(m1==m2&&d1>d2)age--;printf(”ageis%dn”,age);}4.给一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。main(){longintnum;intindiv,ten,hundred,thousand,ten_thousand,place;printf(”请输入一个整数(0~99999):”);scanf(”%ld”,&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf(”place=%dn”,place);printf(”每位数字为:”);ten_thousand=num/10000;thousand=(num-ten_thousand*10000)/1000;hundred=(num-ten_thousand*10000-thousand*1000)/100;ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;switch(place){case5:printf(”%d,%d,%d,%d,%dn”,ten_thousand,thousand,hundred,ten,indiv);printf(”反序数字为:”);printf(”%d,%d,%d,%d,%dn”,indiv,ten,hundred,thousand,ten_thousand);break;case4:printf(”%d,%d,%d,%dn”,thousand,hundred,ten,indiv);45nprintf(”反序数字为:”);printf(”%d,%d,%d,%dn”,indiv,ten,hundred,thousand);break;case3:printf(”%d,%d,%dn”,hundred,ten,indiv);printf(”反序数字为:”);printf(”%d,%d,%dn”,indiv,ten,hundred);break;case2:printf(”%d,%dn”,ten,indiv);printf(”反序数字为:”);printf(”%d,%dn”,indiv,ten);break;case1:printf(”%dn”,indiv);printf(”反序数字为:”);printf(”%dn”,indiv);break;}}5.某商场在节日期间举办促销活动,顾客可按购买商品的款数多少分别给予以下不同的优惠折扣:购物不足250元的,没有折扣,赠送小礼品;购物满250元,不足500元的,折扣5%;购物满500元,不足1000元的,折扣10%;购物满1000元,不足2000元的,折扣15%;购物满2000元及2000元以上,折扣20%;试用switch语句编写程序,计算顾客的实际付款数。main(){floatpayment,discount,amount;inttemp;charrmb=’x9d’;printf(”Pleaseinputyourpayment:”);scanf(”%f”,&payment);temp=(int)payment/250;switch(temp){case0:discount=0;printf(”youcangetalittlegift.n”);break;case1:discount=5.0;break;case2:case3:discount=10.0;break;case4:case5:case6:case7:discount=15.0;45nbreak;default:discount=20.0;break;}amount=payment*(1-discount/100);printf(”youpay%c%.2fn”,rmb,amount);}45n第5章循环结构程序设计三.编程题1.求从1到100之间的偶数之和。main(){inti,sum=0;for(i=1;i<=100;i++)if(i%2==0)sum+=i;printf("sum=%dn",sum);}2.编程求出200~300之间,满足条件:三位数字之积为42,三位数字之和为12的数。main(){inti=2,j,k;for(j=0;j<=9;j++)for(k=0;k<=9;k++)if(i*j*k==42&&i+j+k==12)printf("%dt",100*i+10*j+k);}3.打印出以下图案:****************main(){inti,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf((””);for(k=1;k<=2*i-1;k++)printf(”*”);printf(”n”);}}4.编程实现百钱买百鸡的方法。设公鸡每只5钱,母鸡每只3钱,小鸡3只1钱,且需包含公鸡、母鸡和小鸡,求可有哪几种方案。main(){inti,j,k;for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=100;k++)if(5*i+3*j+k/3.0==100&&i+j+k==100)45nprintf("%d,%d,%dn",i,j,k);}5.从键盘输入一些整数,统计大于零的整数个数和小于零的整数个数。提示:用输入零来结束输入。main(){intn,sum1=0,sum2=0;scanf(”%d”,&n);while(n!=0){if(n>0)sum1++;elsesum2++;scanf(”inputn:”,&n);}printf(”大于零的整数个数=%d,小于零的整数个数=%d”,sum1,sum2);}一.选择题1、D2、A3、C4、B5、C6、C7、D8、B9、C10、D11、B12、A13、A14、A二.填空题1、52、523、89214、175、#*#*$6、y=-17、1010918、X9、x>=0x