C语言课后习题参考答案.ppt

上传人:小飞机 文档编号:5426542 上传时间:2023-07-05 格式:PPT 页数:45 大小:264.99KB
返回 下载 相关 举报
C语言课后习题参考答案.ppt_第1页
第1页 / 共45页
C语言课后习题参考答案.ppt_第2页
第2页 / 共45页
C语言课后习题参考答案.ppt_第3页
第3页 / 共45页
C语言课后习题参考答案.ppt_第4页
第4页 / 共45页
C语言课后习题参考答案.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《C语言课后习题参考答案.ppt》由会员分享,可在线阅读,更多相关《C语言课后习题参考答案.ppt(45页珍藏版)》请在三一办公上搜索。

1、第2章 部分习题参考答案一、单项选择题:DABDD DAAAB BCD,第3章 部分习题参考答案一、单项选择题:CACBB CDBBB ADCCB DCCBB二、填空题:a!=b|a20&x30|x-1000非01x%3=0&x%7=0 或 x%21=0,三、编程题,2、#include#include void main()float a,b,c,p,s;printf(请输入三角形的三边长:);scanf(%f%f%f,第3章 习题,3、#include void main()int x,y;scanf(%d,if(x-5,if(x=8)y=10;else if(x0)y=x-1;else

2、if(x=0)y=x;else y=x+1;,第3章 习题,4、键盘输入一字符,大写转小写,小写转大写,其他原样输出。,#include void main()char ch;scanf(%c,ch=getchar();,if(ch=A,第3章 习题,8.,#include void main()int year,flag=1;double money,rate,total;printf(请输入存款本金和年限:);scanf(%lf%d,第3章 习题,#include void main()int year,flag=1;double money,rate,total;printf(请输入存款

3、本金和年限:);scanf(%lf%d,第4章 部分习题参考答案一、单项选择题 BCDBD BCDBB CCCCC BACDD,二、编程题2.编程输出1200之间所有能被3整除、且个位数为6的整数。,方法2:#include void main()int i;for(i=6;i=200;i=i+10)if(i%3=0)printf(%5d,i);printf(n);,方法1:#include void main()int i;for(i=1;i=200;i+)if(i%3=0,3.编程从键盘输入k的值及k个整数,统计其中的正数、零和负数的个数。,#include void main()int

4、x,k,i,p=0,z=0,m=0;printf(请输入待输入数据的个数:);scanf(%d,第4章 习题,6.编程求e=1+1/1!+1/2!+1/3!+1/n!,直到最后一项小于10-5为止。,#include void main()float sum,n,m,c;sum=1;n=1;m=1;c=1;while(c=1E-5)m=m*n;c=1/m;sum=sum+c;n=n+1;printf(e=%fn,sum);,#include void main()int i=1;double s=1,e=1;while(1/s=1E-5)s=s*i;e=e+1/s;i+;printf(e=%l

5、fn,e);,第4章 习题,7.输入两个正整数m和n,求其最小公倍数。,#include void main()int m,n,i;printf(请输入两个正整数:);scanf(%d%d,#include void main()int m,n,i;printf(请输入两个正整数:);scanf(%d%d,第4章 习题,8.输入若干学生的成绩,输入负数时表示输入结束,求所有学生的最高分。,#include void main()int cj,max=0;printf(输入成绩,以负数结束:);scanf(%d,#include void main()int cj,max=0;printf(输入

6、成绩,以负数结束:);while(1)scanf(%d,第4章 习题,13.有36块砖,由36人搬:男人一次搬4块,女人一次搬3块,两个小孩抬1块,要求一次刚好全部搬完。问男、女、小孩各多少人?,#include void main()int x,y,z;/x,y,z分别表示男,女,小孩数 for(x=0;x9;x+)for(y=0;y12;y+)z=36-x-y;if(4*x+3*y+z/2=36,第4章 习题,14.猴子摘桃问题。,T10=1Tn=(Tn+1+1)*2求T1=?,#include void main()int i,t;t=1;for(i=9;i=1;i-)t=(t+1)*2

7、;printf(第一天桃子数量为:%dn,t);,第4章 习题,15.求数列2/1,3/2,5/3,8/5,的前n项之和。,#include void main()int a,b,t,i,n;double sum=0.0;printf(请输入n:);scanf(%d,第4章 习题,第5章 部分习题参考答案一、单项选择题 BBADC BDBCC DDDDC BAACD,补1:输入6个整数到数组a中,将其逆序输出。补2:输入6个整数到数组a中,将其逆序存储,然后输出。,补1:#include void main()int i,a6;for(i=0;i=0;i-)printf(%d,ai);prin

8、tf(n);,补2:#include void main()int i,j,a6,t;printf(请输入6个整数:);for(i=0;i6;i+)scanf(%d,第5章 习题,二、编程题1.,#include void main()int a10,i,k,sum;float ave;printf(请输入10个整数:);for(i=0;i0)sum+=ai;k+;ave=(float)sum/k;printf(正数的个数为:%d,平均值为:%.2fn,k,ave);,第5章 习题,2.方法一:,#include void main()int a100,i,n,score;float sum,

9、ave;i=0,sum=0;while(1)printf(请输入第%d个学生成绩:,i+1);scanf(%d,第5章 习题,2.方法二:,#include void main()int a100,i=0,n,score;float sum=0,ave;printf(请输入学生成绩,以负数结束:);scanf(%d,第5章 习题,4.-改:从键盘输入一个33的矩阵,求该矩阵主对角线与副对角线上的元素之和。,#include void main()int a33,i,j,sum=0;printf(请输入33矩阵元素:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,

10、第5章 习题,5.,#include#define M 3#define N 4void main()int i,j;float aMN,bM,sum;printf(请输入%d%d矩阵:n,M,N);for(i=0;iM;i+)sum=0;for(j=0;jN;j+)scanf(%f,第5章 习题,8.,#include#includevoid main()char a20;int i;printf(请输入字符串:);gets(a);for(i=strlen(a)-1;i=0;i-)printf(%c,ai);printf(n);,第5章 习题,9.,#include void main()c

11、har s180,s240;int i,j;printf(请输入第1个字符串:);gets(s1);printf(请输入第2个字符串:);gets(s2);i=0;while(s1i!=0)i+;j=0;while(s2j!=0)s1i=s2j;i+;j+;s1i=0;printf(连接后的字符串为:%sn,s1);,第5章 习题,10.,#include void main()char s180,s280;int i;printf(请输入一个字符串:);gets(s2);for(i=0;s2i!=0;i+)s1i=s2i;s1i=0;printf(复制后的字符串为:%sn,s1);,第5章

12、习题,13.,/冒泡法升序排序#include#include void main()int n,i,j;char t,s80;printf(请输入字符串:);gets(s);n=strlen(s);for(i=0;isj+1)t=sj,sj=sj+1,sj+1=t;printf(排序后字符串:);puts(s);,/选择法升序排序#include#include void main()int n,i,j,m;char t,s80;printf(请输入字符串:);gets(s);n=strlen(s);for(i=0;in-1;i+)m=i;for(j=i+1;jn;j+)if(sjsm)m=

13、j;if(m!=i)t=si,si=sm,sm=t;printf(排序后字符串:);puts(s);,第5章 习题,第6章 部分习题参考答案一、单项选择题 CAAAB DCBBB CADAD CDBA A 注:第20小题不做要求,二、编程题3.,#includevoid main()int min(int,int,int);int a,b,c,d,e,m1,m2;printf(请输入5个整数:);scanf(%d%d%d%d%d,第6章 习题,4.,#include#includevoid main()int prime(int m);int i;for(i=2;i=100;i+)if(pri

14、me(i)printf(%5d,i);printf(n);int prime(int m)int k,n;n=(int)sqrt(m);for(k=2;k=n;k+)if(m%k=0)return 0;return 1;,第6章 习题,5.,#includeint fgcd(int m,int n)/最大公约数函数 int i;i=mm?m:n;for(;i+)if(i%m=0,第6章 习题,6.,#includeint f(int a,int n)int i,t=0;for(i=1;i=n;i+)t=t*10+a;return t;void main()int a,n,i,s=0;print

15、f(请输入两个整数a,n:);scanf(%d%d,第6章 习题,8.,#include#define N 6int max(int a)int i,m;m=a0;for(i=1;iN;i+)if(mai)m=ai;return m;void main()int i,bN;printf(请输入%d个整数:,N);for(i=0;iN;i+)scanf(%d,第6章 习题,9.,#includevoid sort(int a,int n)int i,j,t;for(i=0;iaj+1)t=aj;aj=aj+1;aj+1=t;void main()int i,n,a100;/最多100个元素 pr

16、intf(请输入元素个数:);scanf(%d,第6章 习题,12.,#includeint fib(int k)int f;if(k=1)f=0;else if(k=2)f=1;else f=fib(k-1)+fib(k-2);return f;void main()int i,n;printf(请输入项数:);scanf(%d,第6章 习题,第7章 部分习题参考答案一、单项选择题 DBCCC ACBAD CACC D DDCDC CBCAC 注:1525小题不做要求二、填空题 1.2010 5 2.s=p+3 s=s-2 100*(s+1)2 3.110 4.abcde a 5.mallo

17、c(sizeof(int)*11)不做要求,三、编程题(用指针完成)1.,#includevoid swap(int*px,int*py)int t;t=*px;*px=*py;*py=t;void main()int a,b,c;printf(请输入三个整数:);scanf(%d%d%d,第7章 习题,2.,#includevoid swap(int*px,int*py)int t;t=*px;*px=*py;*py=t;void main()int a10,i;int*pmax,*pmin;/两个指针分别指向最大,最小数 printf(请输入10个整数:);for(i=0;iai)pmin

18、=,第7章 习题,3.,#includevoid main()char a100,*p=a;int flag=0;printf(请输入一个字符串:);gets(a);while(*p!=0)if(*p=k)flag=1;break;p+;if(flag=1)printf(已找到!n);else printf(没找到n);,第7章 习题,5.,#includevoid scat(char*s1,char*s2)char*p1=s1,*p2=s2;while(*p1!=0)p1+;while(*p2!=0)*p1=*p2;p1+;p2+;*p1=0;void main()char a80,b40;

19、printf(请输入第1个字符串:);gets(a);printf(请输入第2个字符串:);gets(b);scat(a,b);printf(b连接到a后字符串为:%sn,a);,第7章 习题,6.,#include#includevoid main()int hw(char*s);char s80;printf(请输入一个字符串:);gets(s);if(hw(s)printf(该字符串是回文!n);else printf(该字符串不是回文!n);int hw(char*s)int flag=1;char*p,*q;for(p=s,q=s+strlen(s)-1;pq;p+,q-)if(*p

20、!=*q)flag=0;break;return flag;,第7章 习题,9.,#include#includeint fun(char*s)int len,i,k,n=0;len=strlen(s);for(i=0;ilen;i+)k=si-0;n=n*10+k;return n;void main()char s10;int n;printf(请输入不超过9个字符的数字串:);gets(s);n=fun(s);printf(对应的整数位:%dn,n);,/函数的另一种方法int fun(char*s)int n=0;while(*s!=0)n=n*10+*s-0;s+;return n;

21、,第7章 习题,10.,#includeint slen(char*p)int len=0;while(*p!=0)len+;p+;return len;void main()char a80;printf(请输入一个字符串:);gets(a);printf(字符串的长度为:%dn,slen(a);,第7章 习题,第8章 部分习题答案一、单项选择题 BDABC BADDA DCDBC第9章 部分习题答案一、单项选择题 DDCDD ABCCC DD AB D 注:第13、14小题不做要求,二、编程题1.2.,#include#define MOD(a,b)(a)%(b)void main()int m,n,r;printf(请输入两个整数:);scanf(%d%d,#include#define MAX(a,b)(a)(b)?(a):(b)void main()int x,y,z,m;printf(请输入三个整数:);scanf(%d%d%d,第9章 习题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号