您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 高教c语言程序设计(2011版)课后编程题答案
1、~$c语言程序设计(2011版)课后编程题答案-1-第三章顺序结构3.30编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。※程序如下※main(){inthour,minute;hour=560/60;minute=560%60;printf(hour=%d,minute=%d,hour,minute);}3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。※程序如下※#includestdio.hmain(){intnum1,num2,i,j;/*定义变量i-商,j-余数*/printf(inputnum1andnum2:\n);scanf(%d%d,&num1,&num2);i=n}3.32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。※程序如下※main(){doublea,b,c,average=0;printf(inputa,b,c(double):\n);scanf(%lf%lf%lf,&a,&b,&c);average=(a+b+c)/3;average=a。
2、verage*10;average=average+0.5;average=(int)average;average=average/10;printf(average=%lf,average);}3.33编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中的值给a。※程序如下※main(){~$c语言程序设计(2011版)课后编程题答案-2-inta,b,c,t=0;printf(inputabc:\n);scanf(%d%d%d,&a,&b,&c);t=c;c=b;b=a;a=t;printf(a=%db=%dc=%d,a,b,c);}第四章选择结构4.21当a0时,请将以下语句改写成switch语句。if(a30)m=1;elseif(a40)m=2;elseif(a50)m=3;elseif(a60)m=4;elsem=5;※程序如下※main(){inta;printf(Entera:\n);scanf(%d,&a);switch(a/10){case0:case1:case2:printf(m=1);break;case3:。
3、printf(m=2);break;case4:printf(m=3);break;case5:printf(m=4);break;default:printf(m=5);}}4.22编写程序,输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。※程序如下※这道题仅做参考!!!系统不一样无法运行!main(){inty0,y1,m0,m1,d0,d1,age=0;printf(YourBirthday(yyyy-mm-dd):\n);scanf(%d-%d-%d,&y0,&m0,&d0);printf(CurrentDate(yyyy-mm-dd):\n);scanf(%d-%d-%d,&y1,&m1,&d1);if(d1d0)m1=m1-1;if(m1m0)y1=y1-1;~$c语言程序设计(2011版)课后编程题答案-3-age=y1-y0;printf(\nAge=%d,age);}4.23编写程序,输入一个整数,打印出它是奇数还是偶数。※程序如下※main(){inti;printf(inputaintege。
4、r:\n);scanf(%d,&i);if(i%2==0)/*条件判断*/printf(%disaeven,i);elseprintf(%disaodd,i);}——————————————————————————————————4.24编写程序,输入a、b、c三个数,打印出最大者。※程序如下※main(){inta,b,c,max=0;printf(input(int)abandc:\n);scanf(%d%d%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(max=%d,max);}——————————————————————————————————4.25有一函数:编写一程序,要求输入x的值,输出y的值。分别(1)不嵌套的if语句(2)嵌套的if语句(3)if_else语句(4)switch语句※程序如下※源程序一:(1)不嵌套的if语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x0)printf(y=%f,x);if(x==0)~$c语言程序设计(2011版。
5、)课后编程题答案-4-printf(y=%f,x-1);if(x0&&x10)printf(y=%f,x+1);if(x=-5||x=10)printf(inputerror);}源程序二:(2)嵌套的if语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x10){if(x==0)printf(y=%f,x-1);if(x0)printf(y=%f,x);if(x0)printf(y=%f,x+1);}if(x=-5||x=10)printf(inputerror);}源程序三:(3)if_else语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x10)if(x0)printf(y=%f,x-1);elseif(x==0)printf(y=%f,x);elseprintf(y=%f,x+1);elseprintf(inputerror);}源程序四:(4)switch语句*/main(){intflag;floatx;printf(Enterx:\n);scanf(。
6、%f,&x);~$c语言程序设计(2011版)课后编程题答案-5-if(x-5&&x0)flag=-1;if(x==0)flag=0;if(x0&&x10)flag=1;switch(flag){case-1:printf(y=%f,x);break;case0:printf(y=%f,x-1);break;case1:printf(y=%f,x+1);break;}}/*第五章循环结构三、编程题5.17编写程序,求1-3+5-7+...-99+101的值。※程序如下※main(){inti,sum=0,s=1;for(i=1;i=101;i+=2){sum=sum+i*s;s=-s;/*控制符号交替变换*/}printf(sum=%d,sum);}5.18编写程序,求e的值,e=1+1/1!+1/2!+1/3!+1/4!+...+1/n!(1)用for循环,计算前50项(2)用while循环,要求直至最后一项的值小于1e-4。※程序如下※源程序一:(1)用for循环实现main(){inti,n;doublesum=1,t=1;printf(inputn:\n);scanf(%d,&。
7、n);for(i=1;i=n;i++){t=t*i;/*实现阶乘*/sum=sum+1/t;}printf(e=%lf,sum);}源程序二:(2)用while循环实现#includemath.hmain()~$c语言程序设计(2011版)课后编程题答案-6-{inti;doubelsum=1,t=1;while(fabs(1.0/t)1e-4)/*fabs求浮点型数据的绝对值*/{t=t*i;sum=sum+1/t;i++;}printf(e=%lf,sum);}5.19编写程序,输出从公元1000年至2000年所有闰年的年号每输出3个年号换一行。判断公元年是否闰年的条件是:(1)公元年数如能被4整除,而不能被100整除,则是闰年。(2)公元年数能被400整除也是闰年。※程序如下※main(){inti,j=0;for(i=1000;i=2000;i++){if((i%4==0)&&(i%100!=0)||(i%400==0))/*判断是否是闰年的条件*/{printf(&d,i);j++;if(j%3==0)/*控制换行*/printf(\n);}}}5.20编写程序,打印以下图形。
8、:*************************※程序如下※#includemath.hmain(){inti,j;for(i=1;i=7;i++)/*控制行数*/{for(j=1;j=7;j++)/*控制星数*/{if((j=fabs(4-i))||(j7-fabs(4-i)))printf();else~$c语言程序设计(2011版)课后编程题答案-7-printf(*)}printf(\n);}}#includestdio.h#includemath.hmain(){inti,j,k;for(i=-3;i=abs(i);i++){for(j=0;j=abs(i);j++)printf(“”);for(k=0;k=7-abs(i);k++)printf(“*”);printf(“\n”);}}第六章字符型数据6.21请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,每行输出三队.※程序如下※#includestdio.hmain(){inti=0;charch;while((ch=getchar())!='\n'){printf(%4c%4d,。
9、ch,ch);i++;if(i%3==0)printf(\n);}}6.21请编写程序,输入一行数字字符(用EOF结束),每个数字字符的前后都有空格。请编程,把这一行中的数字转换成一个整数。例如,若输入:2483CR(CR代表Enter键)则输出整数:2483※程序如下※#includestdio.hmain(){charch;while((ch=getchar())!=EOF)~$c语言程序设计(2011版)课后编程题答案-8-{if(ch=='')continue;elseprintf(%c,ch);}}6.22请编写程序统计输入的行数,输入用EOF结束输入。※程序如下※#includestdio.hmain(){charch;inti=0;while((ch=getchar())!=EOF){if(ch=='\n')i++;}printf(%d,i);}6.23请编写程序统计输入的一行中小写字母的个数。※程序如下※#includestdio.hmain(){inti=0;charch;while((ch=getchar())!='\n'){if((ch='a')&&(ch='z'。
10、))i++;}printf(%d,i);}6.24请编写输出以下图案的程序,图案的行数由输入的值确定。ABBBCCCCCDDDDDDDEEEEEEEEE※程序如下※#includestdio.hmain(){inti,j,k,n;~$c语言程序设计(2011版)课后编程题答案-9-printf(Entern(integer):\n);scanf(%d,&n);for(i=1;i=n;i++){for(j=n;ji;j--)printf();for(k=1;k=2*i-1;k++)printf(%c,64+i);printf(\n);}}第七章函数7.14以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正。fun(intn){intk,yes;for(k=2;k=n/2;k++)if(n%k==0)returnyes=0;returnyes=1;}※正确答案是:fun(intn){intk,yes=1;for(k=2;k=n/2;k+。
本文标题:高教c语言程序设计(2011版)课后编程题答案
链接地址:https://www.777doc.com/doc-1935708 .html