程序设计基础——C语言课后习题参考答案完整版.docx





《程序设计基础——C语言课后习题参考答案完整版.docx》由会员分享,可在线阅读,更多相关《程序设计基础——C语言课后习题参考答案完整版.docx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课后习题1答案一、选择题1、A 2、D 3、C二、编程题1. #include int main()printf(*n);printf(* Hello World! *n);printf(*n);return 0;2. #include int main()printf( *n);printf( *n);printf( *n);printf(*n);return 0;课后习题2答案一、选择题1-5、 DDBAB6-10、 DDABA11-15、CAABA16、 B二、填空题1、54,146,2552、字母,数字,下划线3、(换行字符)换行,(退格字符)移动到当前行的前一个位置,(反斜杠字符)产
2、生反斜杠字符4、float,double,char5、(10101010)2,(00010000)26、(11111011)2,(373)8,(fb)167、0000000010011101, 0000000010011101,1000000010011001,1111111101100111课后习题3答案一、选择题1-5、 CB DACD6-10、 CCBAC11-15、CADDB16-17、CD二、填空题1、-162、12,43、m/100,m/10%10,m%104、(注:表示空格)12#12#3.1415926000#3.1415926000#5、55,A,B三、编程题1. #defi
3、ne PI 3.14#include #include int main()float r,s,l;scanf(%f,&r); /*输入圆的半径*/s= PI*r*r; /*计算圆的面积*/l=2*PI*r; /*计算圆的周长*/printf(r=%4.1f,s=%4.1f,l=%4.1fn,r,s,l);return 0;运行结果:3r= 3.0,s=28.3,l=18.82 #include int main()float x,y,z,s,v;scanf(%f%f%f,&x,&y,&z); /*输入长方体的长、宽和高*/s=2*(x*y+x*z+y*z); /*计算长方体的表面积*/v=x
4、*y*z; /*计算长方体的体积*/printf(Area=%.2f,Volume=%.2fn,s,v);return 0;运行结果:3 4 5Area=94.00,Volume=60.003#include #include int main()float x1,y1,x2,y2,x3,y3,a,b,c,p,s;/*输入3个顶点的坐标*/scanf(%f%f%f%f%f%f,&x1,&y1,&x2,&y2,&x3,&y3);/*求第一条边的长度*/a=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);/*求第二条边的长度*/b=sqrt(x1-x3)*(x1-x3)+(
5、y1-y3)*(y1-y3);/*求第三条边的长度*/c=sqrt(x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);p=(a+b+c)/2;/*求三角形的面积*/s=sqrt(p*(p-a)*(p-b)*(p-c);printf(Area=%fn,s);return 0;运行结果:5 6 3 8 0 23Area=12.000013课后习题4答案一、选择题1-5、 CCCCC 6-8、 DBB二、填空题1、02、y%2或y%2=13、(x0 & y0) | (x0 & z0 & y0 & z2 & x3 | xc & a+cb & b+caa=b & b=ca=b | a=c |
6、 b=c9、0.60000010、x=0xamin11、4-i2*i-112、#*#*#*13、a=16,y=60三、编程题1. #include int main()int a,b,num;scanf(%d,%d,&a,&b); if(a*a+b*b100)num=(a*a+b*b)/100;else num=a+b;printf(%d,num);return 0;运行结果:(1)测试数据一:3 47(2)测试数据二:9 512. #include int main()int x;float y;scanf(%d,&x);if(x=0)y=0;else if(x=10)y=x;else if
7、(x=20)y=10;else if(x40)y=-0.5*x+20;printf(%fn,y);return 0;3. #includeint main()int score;char grade;scanf(%d,&score); /*输入百分制成绩*/switch(score/10)case 10: case 9: grade=A; break;case 8: grade=B; break;case 7: grade=C; break;case 6: grade=D; break;default: grade=E;printf(%cn,grade);return 0;运行结果:96A4.
8、 #includeint main()int i;for(i=1;i=99;i+)if(i*i%10=i | i*i%100=i)printf(%dn,i);return 0;运行结果:15625765. #includeint main()int n,i,j;printf(请输入行数:);scanf(%d,&n);/*外层循环控制输出的行数*/for(i=1;i=n;i+)/*输出每行的空格*/for(j=1;j=i-1;j+)printf( );/*输出每行的星号*/for(j=1;j=2*n+1-2*i;j+)printf(*);/*输出换行符*/printf(n);return 0;6
9、. #include #define EPS 1E-7int main()int n;double x,an,sum;printf(input x:);scanf(%lf,&x);sum=0;an=1;n=1;dosum+=an; an*=(-x*x)/(n+1)*(n+2);n+=2;while(fabs(an)=EPS);printf(sin(%.4lf)=%.4lfn,x,sum);return 0;课后习题5答案一、选择题1-5、 DABDC6-8、 DCB二、填空题1、j=2j=02、Search Successful!The index is:53、j+=2aiaj4、#&*&%三
10、、编程题1.#include #define N 30int main()int arrayN,i,j,sum=0;float arrAver6;for(i=0;iN;i+)arrayi=2*(i+1);for(i=0;i6;i+)/*按顺序求5个数的和*/for(j=0;j5;j+)sum+=array5*i+j;/*求5个数的平均值*/arrAveri=sum/5.0;for(i=0;i6;i+)printf(%.2f ,arrAveri);printf(n);return 0;运行结果:6.00 22.00 48.00 84.00 130.00 186.002.#include #def
11、ine M 5#define N 4int main()int arrMN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,0,0,0,0;int i,j;for(j=0;jN;j+)for(i=0;iM-1;i+)arrM-1j+=arrij;for(j=0;jN;j+)printf(%d ,arrM-1j);printf(n);return 0;运行结果:28 32 36 403.#include#define M 5#define N 4int main()int aMN;int i,j,maxj,count=0,flag;printf(请输入%d*%d阶矩
12、阵A:n,M,N );for(i=0;iM;i+)for(j=0;jN;j+)scanf(%d,&aij); for(i=0;iM;i+)maxj=0;for(j=1;jN;j+)/*找到第i行中最大的那个元素的列下标*/if(aimaxjaij)maxj=j;flag=1;/*定位第maxj列,看看aimaxj是否是该列中最小的那个元素 如果是不是,则flag为0;如果是,则flag保持为1*/for(j=0;jM;j+)if(ajmaxjaimaxj)flag=0;if(flag=1)count+;printf(第%d个鞍点:a%d%d=%dn,count,i,maxj,aimaxj);i
13、f(count=0)printf(没有鞍点); return 0;4.#include#define N 40int main() int i,j=0,iMax,max,count;char strN;char insertStr5=(,m,a,x,);/待插入的多个字符“(max)”printf(输入一个字符串:);gets(str);/*用假设法求字符串str中最大的元素max和最大元素所在的下标iMax*/count=strlen(str);/*字符串str中字符元素的个数*/max=str0; /*假设字符串的第一个字符最大*/iMax=0; /*字符串中最大字符的下标置为0*/for
14、(i=1;imax)max=stri;/*字符串中最大的字符存放到max中*/iMax=i; /*字符串中最大的字符的下标存放到iMax中*/*字符串最大的字符后的字符依次往后移动5个字符*/for(i=count-1;iiMax;i-)stri+5=stri;/*字符串最大的字符后插入字符串“(max)”*/for(i=iMax+1;i=iMax+5;i+)stri=insertStrj;j+;/*新串的末尾加上0*/strcount+5=0;puts(str); return 0;运行结果:MyFriendMy(max)Friend5.#include#define M 40#define
15、 N 20int main()char strAM,strBN,cntB,i=0,j=0;printf(请输入字符串a:);gets(strA);printf(请输入字符串b:);gets(strB);cntB=strlen(strB);/*找到a串的末尾*/while(strAi!=0)i+;if(cntB5)/*将b串的所有字符都连接到a串末尾*/while(strBj!=0)strAi+j=strBj;j+;else/*将b串的前5个字符连接到a串末尾*/while(j5)strAi+j=strBj;j+;/*新串的末尾加上串结束标志0*/ strAi+j=0;puts(strA); r
16、eturn 0;运行结果:(1)测试数据一:请输入字符串a:hubei请输入字符串b:wuhanhubeiwuhan(2)测试数据二:请输入字符串a:shanxi请输入字符串b:xianhubeiwuhan6.略7.#include #define N 6int main()/*学生的学号数组*/char numN9=99077101,99077102,99077103,99077104,99077105,99077106,tmpNum9;/*学生的姓名数组*/char nameN8=张红,王建,王连,李立,刘虹,丁平,tmpName8;/*学生的四门课程数组*/int scoreN4=85,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 语言 课后 习题 参考答案 完整版

限制150内