C语言课后习题参考答案_第1页
C语言课后习题参考答案_第2页
C语言课后习题参考答案_第3页
C语言课后习题参考答案_第4页
C语言课后习题参考答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 部分习题参考答案 一、单项选择题: DABDD DAAAB BCD,第3章 部分习题参考答案 一、单项选择题:CACBB CDBBB ADCCB DCCBB 二、填空题: a!=b | a20 else if(x=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(

2、请输入存款本金和年限: ); scanf(%lf%d, ,第4章 部分习题参考答案 一、单项选择题 BCDBD BCDBB CCCCC BACDD,二、编程题 2 . 编程输出1200之间所有能被3整除、且个位数为6的整数。,方法2: #include void main () int i; for(i=6;i=1E-5) s=s*i; e=e+1/s; i+; printf(e=%lfn,e); ,第4章 习题,7. 输入两个正整数m和n,求其最小公倍数。,#include void main () int m,n,i; printf(请输入两个正整数: ); scanf(%d%d, ,#i

3、nclude 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(输入成绩,以负数结束: ); while(1) scanf (%d, ,第4章 习题,13. 有36块砖,由36人搬:男人一次搬4块,女人一次搬3块,两个小孩抬1块

4、,要求一次刚好全部搬完。问男、女、小孩各多少人?,#include void main () int x,y,z; /x,y,z分别表示男,女,小孩数 for(x=0;x9;x+) for(y=0;y=1;i-) t=(t+1)*2; 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章 部分习题参考答案 一、单项选择题 BBAD

5、C 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); printf(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; p

6、rintf(请输入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,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,a

7、ve; 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, ,第5章 习题,5.,#include #define M 3 #define N 4 void main() int i,j; float aMN,bM,sum; printf(请输入%d%d矩阵:n,M,N); fo

8、r(i=0;iM;i+) sum=0; for(j=0;j=0;i-) printf(%c,ai); printf(n); ,第5章 习题,9.,#include void main() char 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 mai

9、n() char s180,s280; int i; printf(请输入一个字符串:); gets(s2); for(i=0;s2i!=0;i+) s1i=s2i; s1i=0; printf(复制后的字符串为:%sn,s1); ,第5章 习题,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); ,/选择法升序

10、排序 #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=j; if(m!=i) t=si,si=sm,sm=t; printf(排序后字符串: ); puts(s); ,第5章 习题,第6章 部分习题参考答案 一、单项选择题 CAAAB DCBBB CADAD CDBA A 注:第20小题不做要求,二、编程题 3.,#include void main()

11、int min(int,int,int); int a,b,c,d,e,m1,m2; printf(请输入5个整数: ); scanf(%d%d%d%d%d, ,第6章 习题,4.,#include #include void main() int prime(int m); int i; for(i=2;i=100;i+) if(prime(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.

12、,#include int fgcd(int m,int n) /最大公约数函数 int i; i=mm?m:n; for( ; ;i+) if(i%m=0 ,第6章 习题,6.,#include int 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; printf(请输入两个整数a,n: ); scanf(%d%d, ,第6章 习题,8.,#include #define N 6 int max(int a) int i,m; m=a0; for(i=1;iN;i

13、+) if(mai) m=ai; return m; void main() int i,bN; printf(请输入%d个整数: ,N); for(i=0;iN;i+) scanf(%d, ,第6章 习题,9.,#include void 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个元素 printf(请输入元素个数: ); scanf(%d, ,第6章 习题,12.,#include int fib(int k) int f; if(k

14、=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. malloc( sizeof(int)*11 ) 不做要求,三、编程题(用指针完成) 1.,#incl

15、ude void 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.,#include void 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= ,第7章 习题,3.,

16、#include void 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.,#include void 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; printf(请输入第1个字符串: ); gets(a); printf(请输入第2个字符串: ); gets(b); scat(a,b); printf(b连接到a后字符串为:%sn,a); ,第7章 习题,6.,#include #include void main() int hw(char *s); char s80; printf(请输入一个字符串: ); gets(s); if(hw(s) printf(该字符串是回文!n); else printf(该字符串不是回文!n); int hw(char *s) i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论