首页 C语言程序设计教程(第2版)_张敏霞_课后习题答案

C语言程序设计教程(第2版)_张敏霞_课后习题答案

举报
开通vip

C语言程序设计教程(第2版)_张敏霞_课后习题答案公众号【电气工程狗】免费分享更多资源c语言程序设计教程(第2版)课后题及模拟题参考答案习题1..................................................................................................................................................31-1填空题................................................................

C语言程序设计教程(第2版)_张敏霞_课后习题答案
公众号【电气工程狗】免费分享更多资源c语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 教程(第2版)课后题及模拟题参考 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 习题1..................................................................................................................................................31-1填空题....................................................................................................................................31-2思考题....................................................................................................................................31-3编程题....................................................................................................................................3习题2..................................................................................................................................................42-1单选题....................................................................................................................................42-2思考题....................................................................................................................................4习题3..................................................................................................................................................53-1选择题......................................................................................................................................53-2填空题......................................................................................................................................53-3编程题......................................................................................................................................5习题4..................................................................................................................................................74-1单选题.....................................................................................................................................74-2填空题.....................................................................................................................................74-3编程题....................................................................................................................................7习题5................................................................................................................................................105-1单选题...................................................................................................................................105-2填空题...................................................................................................................................105-3编程题..................................................................................................................................10习题6................................................................................................................................................136-1单选题...................................................................................................................................136-2填空题...................................................................................................................................136-3编程题..................................................................................................................................13习题7................................................................................................................................................157-1单选题...................................................................................................................................157-2填空题...................................................................................................................................157-3编程题..................................................................................................................................15习题8................................................................................................................................................168-1单选题...................................................................................................................................168-2填空题...................................................................................................................................168-3编程题..................................................................................................................................16习题9................................................................................................................................................189-1单选题...................................................................................................................................189-2填空题...................................................................................................................................189-3编程题..................................................................................................................................18习题10.............................................................................................................................................2210-1单选题.................................................................................................................................2210-2填空题.................................................................................................................................2210-3编程题................................................................................................................................22习题11.............................................................................................................................................2411-1单选题.................................................................................................................................2411-2填空题.................................................................................................................................24习题12.............................................................................................................................................2512-1单选题.................................................................................................................................251/38公众号【电气工程狗】免费分享更多资源12-2填空题................................................................................................................................25实验篇...............................................................................................................................................26实验1熟悉VisualC++6.0可视化集成开发环境...............................................................26实验2顺序结构程序设计..........................................................................................................26实验3选择结构程序设计..........................................................................................................26实验4循环结构程序设计..........................................................................................................26实验5函数..................................................................................................................................28实验6数组..................................................................................................................................32实验7指针..................................................................................................................................33实验8结构体和共用体..............................................................................................................35实验9文件..................................................................................................................................36实验10综合编程.......................................................................................................................36模拟试卷(一)参考答案................................................................................................................37模拟试卷(二)参考答案................................................................................................................382/38公众号【电气工程狗】免费分享更多资源习题11-1填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{,}6./*,*/7.顺序结构,选择结构,循环结构8..c,.obj,.exe1-2思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。2.算法是对具体问题求解步骤的一种描述。计算机算法的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活;支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。1-3编程题1.试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。#include"stdio.h"main(){floata,b,h,s;a=10;b=20;h=5;s=(a+b)*h/2;printf("s=%f\n",s);}2.编写程序显示如图1.11所示信息。图1.11显示信息#include"stdio.h"main(){printf("******************************\n");printf("*helloworld*\n");printf("******************************\n");}3/38公众号【电气工程狗】免费分享更多资源习题22-1单选题1~5DBDCA6~10DCABA11~12CA2-2思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20(2)0(3)607.(1)10,6,4(2)6,9,15(3)3,60,838.554/38公众号【电气工程狗】免费分享更多资源习题33-1选择题1-5BDABC6-10ADCAC11-12BB3-2填空题1.32.02613.0x104.2,1互换a,b的值5.6.66.–0038.77.5.0,4,c=38.i=10,j=209.(1)65(2)65,A(3)56.123400,123.456001(4)3.141600(5)8765.432(6)5.864000e+002(7)3.141600e+000(8)3.1416(9)8765(10)3.1416,8765.4310.a=2b=5x=8.8y=76.34c1=65c2=973-3编程题1.编写程序实现从键盘输入两个十进制整型数据10和8给变量x和y出。xy十进制数108八进制数1210十六进制数a8#include"stdio.h"main(){intx,y;scanf("%d%d",&x,&y);5/38公众号【电气工程狗】免费分享更多资源printf("xy\n");printf("%4d%4d\n",x,y);printf("%4o%4o\n",x,y);printf("%4x%4x\n",x,y);}2.编写一个程序,输入一个大写英文字符('B'~'Y'),输出它的前导字符、该字符本身及其后续字符。#include"stdio.h"main(){charc;scanf(“%c”,&c);printf(“%c,%c,%c\n”,c-1,c,c+1);}3.编写一个程序,输入一个3位正整数,要求反向输出对应的整数,如输入123,则输出321。编写程序并给出相应的程序流程图。#include"stdio.h"main(){inta,a1,a2,a3;scanf(“%d”,&a);a1=a%10;a=a/10;a2=a%10;a=a/10;a3=a%10;printf(“%d%d%d\n”,a1,a2,a3);}4.编写程序,读入3个double型数据,求它们的平均值,保留此平均值小数点后1位数,对小数点后第2位数进行四舍五入,最后输出结果。#include"stdio.h"main(){doublea,b,c,ave;scanf(“%lf%lf%lf”,&a,&b,&c);ave=(a+b+c)/3;printf(“%.1lf\n”,ave);}5.编写程序,读入3个整数给变量a、b、c,然后交换它们的值,把a原来的值给b,把b原来的值给c,把c原来的值给a。#include"stdio.h"main(){inta,b,c,t;scanf(“%d%d%d”,&a,&b,&c);t=a;a=c;c=b;b=t;printf(“a=%d,b=%d,c=%d\n”,a,b,c);}6/38公众号【电气工程狗】免费分享更多资源习题44-1单选题1~5AADAD6~10ACBBB11~12BA4-2填空题1.12.(1)a>0||b>0(2)x>0&&x<=10(3)a==1.5&&b==1.5&&c==1.5(4)pb?a:b)>c?max:c5.-46.17.5,0,38.(1)(a==0)(2)(b==0)(3)(disc<0)4-3编程题1.输入3个实型数值a、b、c,如果能用它们作为三角形的3条边形成一个三角形,则输出三角形的面积,并画出实现该算法的N-S流程图并编程实现。#include"stdio.h"#include“math.h”main(){floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>{s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“%f”,area);}}2.输入整数x、y,若x2+y2>1000,则输出x2+y2百位以上的数字,否则输出两数之和。#include"stdio.h"main(){intx,y;scanf(“%d,%d”,&x,&y);if(x*x+y*y>1000)printf(“%d\n”,(x*x+y*y)/100);elseprintf(“%d\n”,x+y);}7/38公众号【电气工程狗】免费分享更多资源3.输入一个整数,判断它能否同时被3、5、7整除,并输出“yes”或“no”字样。#include"stdio.h"main(){intx;scanf(“%d”,&x);if(x%3==0&&x%5==0&&x%7==0)printf(“yes\n”);elseprintf(“no\n”);}4.对任意输入的x,用下式计算并输出y的值。x2sin(x),x2xy2x,2≤x≤22xx1,x2#include"stdio.h"#include“math.h”main(){floatx,y;scanf(“%f”,&x);if(x<-2)y=x*x-sin(x);elseif(x<=2)y=pow(2,x)+1;elsey=sqrt(x*x+x+1);printf(“%f\n”,y);}5.编写程序输入一个5位整数,判断它是不是回文数。回文数是指一个数从右到左和从左到右的对应数码相同,如12321是回文数,个位与万位相同,十位与千位相同。#include"stdio.h"main(){longge,shi,qian,wan,x;scanf("%ld",&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/printf("thisnumberisahuiwen\n");elseprintf("thisnumberisnotahuiwen\n");}8/38公众号【电气工程狗】免费分享更多资源6.编写程序用于计算某运输公司的运费。设每公里每吨货物的基本运费为p,货物重量为w,路程为s(单位为km),折扣为d,总费用计算公式为:f=p*w*s*(1d)运费计算标准见表4.5。表4.5某运输公司运费计算标准s<250不打折250<=s<500折扣2%500<=s<1000折扣5%1000<=s<2000折扣8%2000<=s<3000折扣10%s>3000折扣15%#include"stdio.h"main(){floatp,w,s,d,f;scanf(“%f,%,%f”,p,s,w);if(s>3000)d=0.15elseif(s>=2000)d=0.1;elseif(s>=1000)d=0.08;elseif(s>=500)d=0.05;elseif(s>=250)d=0.02;elsed=0f=p*w*s*(1-d);printf(“%f”,f);}9/38公众号【电气工程狗】免费分享更多资源习题55-1单选题1~5CDABA6~10ABDDB11~14DBCB5-2填空题1.202.3333.(1)i<10(2)j%3!=04.(1)flag*(float)k/(k+1)(2)flag=-flag5.(1)max=x(2)x!=-1(3)scanf("%d",&x)5-3编程题1.用3种循环语句编写程序实现下列算式:(1)1+22+33+„+1001001111(2)e=……,当最后一项的值小于106时为止。1!2!3!n!(1)#include"stdio.h"main(){inti;lonts=0;for(i=1;i<=100;i++)s+=i*i;printf(“%ld”,s);}(2)#include"stdio.h"main(){inti=1;lontp=1;floats=0;do{s+=1.0/p;p*=++i;}while(1.0/p>1e-6)printf(“%f”,s);}2.编写程序求两个正整数的最大公约数。#include"stdio.h"main(){intm,n,t,a,b;10/38公众号【电气工程狗】免费分享更多资源scanf(“%d,%d”,&m,&n);if(m0;y--)s*=x;printf(”%d,%d,%d\n”,s%10,s/10%10,s/100%10);}4.百鸡问题。用100元钱买100只鸡,其中,公鸡每只5元,母鸡每只3元,小鸡每3只1元。编写程序输出各种买法。#include"stdio.h"main(){intx,y,z;for(x=1;x<20;x++)for(y=1;y<33;y++){z=100-x-y;if(z>=0&&(5*x+3*y+z/3)-100<1e-5)printf(”x=%d,y=%d,z=%d\n”,x,y,z);}}5.编写程序分别打印如下图形:*********************************(a)(b)(a)#include"stdio.h"main(){intj,k;for(j=1;j<=4;j++){for(k=1;k<=4-j;k++)printf("");printf("****");printf("\n");}}11/38公众号【电气工程狗】免费分享更多资源(b)#include"stdio.h"main(){intj,k;for(j=1;j<=4;j++){for(k=1;k<=4-j;k++)printf("");for(k=1;k<=2*j-1;k++)printf("*");printf("\n");}}6.请编写程序求100~999之间所有的水仙花数。水仙花数的含义是指这样的一个3位数,其各位数字的立方和等于该数本身。例如,371=33+73+13,所以371是一个水仙花数。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。#include"stdio.h"main(){inti,j,k,n;printf("'waterflower'numberis:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);}}printf("\n");}12/38公众号【电气工程狗】免费分享更多资源习题66-1单选题1-5CBBAD6-10DBCCD11-15DCABC6-2填空题1.1202.x3.3,2,2,34.fac/i5.8,176.97.1.0/(i*i)8.fun-in:30,20,10fun-end:1015,35,105010,20,309.01234510.936366-3编程题1.编写一函数把字符串中的小写字母转换成大写字母,其他字符不变。voidzhuan(){charch;while((ch=getchar())!=’\n’){if(ch>=’a’&&ch<=’z’)ch=ch-32;putchar(ch);}}11112.编写一函数求e=……1!2!3!n!floatexpp(intn){intk,fac=1;floatsum=0;for(k=1;k<=n;k++){fac*=k;sum+=1.0/fac;}return(sum);}13/38公众号【电气工程狗】免费分享更多资源3.编写一函数求一个整数的任意次方的最后3位数,即求xy的最后3位数。intxy3(intx,inty){intk,num=1;for(k=1;k<=y;k++)num*=x;num=num%1000;returnnum;}4.有5个人坐在一起,第5个人说他比第4个人大2岁,第4个人说他比第3个人大2岁,第3个人说他比第2个人大2岁,第2个人说他比第1个人大2岁,第1个人说他10岁,请问第5个人多大?intage(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;returnc;}14/38公众号【电气工程狗】免费分享更多资源习题77-1单选题1-5DBCCB6-8BDC7-2填空题1.c2.603.1000104.167-3编程题1.编写程序计算下列公式中的f值,使用带参数的宏来实现。#include“math.h”#defineF(a)a*a+sqrt(3*a*a+2*a+1)main(){floatx,f;scanf(“%f”,&x);f=4.5/F(exp(x))+F(cos(x))+F(sqrt(x))/F(x*x);printf(“%f\n”,f);}15/38公众号【电气工程狗】免费分享更多资源习题88-1单选题1~15CADAC6~10CCDAB11~15CBBCD8-2填空题10000010001(1)2345(2)10010(3)QuickC(4)001002.(1)j+=2(2)a[i]>a[j]000103.(1)r+b[k](2)*x000018-3编程题1.设数组a中的元素都为正整数,编程求其中偶数的个数和偶数的平均值。#include"stdio.h"#defineN10main(){inta[N]={1,2,3,4,5,6,7,8,9,0},osum=0,ocount=0,j;for(j=0;j<10;j++)if(!(j%2)){ocount++;osum+=a[j];}printf(“ocount=%d,osum=%d\n”,ocount,osum);}2.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中,插入后数组仍然有序,请编程实现。#include"stdio.h"#defineN10main(){inta[N]={10,20,30,40,50,60,70,80,90},j,k,x;scanf(“%d”,&x);for(j=0;jj;k--)a[k]=a[k-1];a[j]=x;for(j=0;j=’A’&&a[j][k]<=’Z’)n[1]++;elseif(a[j][k]>=’a’&&a[j][k]<=’z’)n[2]++;elseif(a[j][k]>=’0’&&a[j][k]<=’9’)n[3]++;elseif(a[j][k]=’’)n[4]++;elsen[5]++;for(j=0;j<5;j++)printf(“%4d”,n[j]);}17/38公众号【电气工程狗】免费分享更多资源习题99-1单选题1~5DDACB6~10ACBAD11~15CDBCC9-2填空题1.(1)2,1(2)10#30#(3)FOUR,O(4)602.(1)49(2)2(3)2(4)75319(5)15(6)1,1,1,1,13,3,3,3,3(7)10001010100010001010100013.(1)*x(2)t4.(1)'\0'或0(2)n++或n+=1或n=n+15.0249-3编程题1.按以下要求编写一个程序。定义三个变量用于存放输入的三个整数;另定义三个指向整型变量的指针变量,并利用它们实现将输入的三个整数按由小到大的顺序输出。#include"stdio.h"main(){intn1,n2,n3;int*pointer1,*pointer2,*pointer3;printf("pleaseinput3number:n1,n2,n3:");scanf("%d,%d,%d",&n1,&n2,&n3);pointer1=&n1;pointer2=&n2;pointer3=&n3;if(n1>n2)swap(pointer1,pointer2);if(n1>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);printf("thesortednumbersare:%d,%d,%d\n",n1,n2,n3);}swap(p1,p2)18/38公众号【电气工程狗】免费分享更多资源int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}2.编写函数,得到两个整数相除的商和余数。要求通过指针在函数间传递商和余数这两个数据。#include"stdio.h"main(){inta,b,d;doublec;voidfun(inta,intb,float*c,int*d);scanf("%d,%d",&a,&b);fun(a,b,&c,&d);printf("%lf,%d\n",c,d);}voidfun(inta,intb,double*c,int*d){if(b){*c=(double)a/b;*d=a%b;}}3.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。编写三个函数:①输入10个数;②进行处理;③输出10个数。#include"stdio.h"main(){voidinput(int*);voidoutput(int*);voidchuli(int*);inta[10];input(a);chuli(a);output(a);}voidinput(int*a){intj;for(j=0;j<10;j++)scanf("%d",a+j);}voidchuli(int*a){intj,minl=0,maxl=0;for(j=0;j<10;j++){if(a[maxl]<*(a+j))maxl=j;if(a[minl]>*(a+j))minl=j;}j=a[0];a[0]=a[minl];a[minl]=j;j=a[9];a[9]=a[maxl];a[maxl]=j;}voidoutput(int*a){intj;for(j=0;j<10;j++)printf("%4d",*(a+j));printf("\n");}19/38公众号【电气工程狗】免费分享更多资源4.按下列要求输入和输出下列数据阵列:输入阵列如下:123456789101112输出阵列如下:121110987654321#defineM3#defineN4main(){inta[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},k,j,*p=a,t;for(k=0,j=M*N-1;k0)t=j;c=*(str1+t);*(str1+t)=*(str1+k);*(str1+k)=c;}}21/38公众号【电气工程狗】免费分享更多资源习题1010-1单选题1-5CDBBB6-10BBBAD11-15CCBDA10-2填空题1.所有结构体成员所占存储空间的总和2.与占用存储空间最大的那个成员相等3.(1)结构体(2)3(3)sa.a(4)9(5)psa=&sa4.805.structnode6.010-3编程题1.定义一个包含20个学生基本情况(包括学号、姓名、性别、C语言成绩)的结构体数组,编程实现下列功能:(1)输入20个学生的学号、姓名、性别、C语言成绩;(2)分别统计男女生的人数,求出男、女生的平均成绩;(3)按照学生的C语言成绩从高到底进行排序。structstudent{longnum;charname[20];charsex;floatscore;};main(){structstudents[20],temp;intj,k,man=0,woman=0;floatsumman=0,sumwoman=0,aveman,avewoman;for(k=0;k<20;k++){scanf("%ld%s%c%f",&s[k].num,s[k].name,&s[k].sex,&s[k].score);if(s[k].sex==’m’){summan+=s[k].score;man++;}else{sumwoman+=s[k].score;woman++;}}aveman=summan/man;22/38公众号【电气工程狗】免费分享更多资源avewoman=sumwoman/woman;printf("%d\t%f\t%d\t%f\n",man,aveman,woman,avewoman);for(k=0;k<19;k++)for(j=0;j<20-k;j++)if(s[j].score10.0)a=a-10.0;else{a=a+10.0;if(b>a);elseb=a-b;}
本文档为【C语言程序设计教程(第2版)_张敏霞_课后习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥14.9 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
小鸭文库
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:38
分类:理学
上传时间:2022-11-03
浏览量:11