




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;.第1章 习题参考答案1. (略)2 判断题123453 填空题(1) main(2) 函数的首部、函数体(3) 、(4) main、main(5) 语句、分号(;)4 选择题12345CCCAB5 选择题(1)#include main() int a, b, s; float t; printf(Enter A,B=?n);scanf(%d%d, &a, &b); s=a+b; t=a*b; printf(s=%d, t=%fn, s, t);(2)#include main() printf(=n);printf( Hello! n); printf( How do you do n); printf(=n);(3)#include main() int r, h; float v;printf(Enter R, H=?n); scanf(%d%d, &r, &h); v=3.1415926*r*r*h; printf(v=%fn,v);第2章 习题参考答案一(略)二填空题(1)(2) 2.5(3) 16(4) 10(5) 16、16、11(6) 4、10、6(7) 18、3、3(8) sin(65*3.14/180)+2*(3.1415926 +exp(y))/(x-y)(9) 25、25(10) 27(11) 4(12) 0三、 选择题123456789101112DDCBDADBCDAB四、编程题1#include main() int x, a, b, c; printf(Enter a intger number x=?n); scanf(%d,&x); a=x /100; b=x%100/10; c=x%10; printf(%d %d %dn, a, b, c);2.#include main() unsigned a, b,r1,r2,r3; scanf(%u%u, &a, &b); r1=a &b; r2=a|b; r3=ab; printf(r1=%u,r2=%u,r3=%un,r1,r2,r3); getch();3.#include main() float a, b, h, s; scanf(%f%f?%f, &a, &b, &h); s=(a+b)*h/2; printf(s=%fn, s);第3章 习题参考答案一、判断题1234562 填空题3 语句4 表达式语句5 6 函数7 由“%”和格式字符8 &9 getchar()10 27 ,33 ,1b11 x(1)=23.14 x(2)=-78.32 12 5+ 63 程序阅读题1、p=3.14p=3.1416p= 3.14p= 3.1416p=3.14p=3.14162、a-ASCII: 97a-ASCII: 97a-ASCII: 974 编程题1、 #include main() int a, b; float r1, r2; scanf(%d%d, &a, &b); r2=a+b; r1=a*b/r2; printf(r1=%0.2f,r2=%0.2fn, r1, r2);2、#include main() float c, f; printf(Input C=); scanf(%f, &c); f=9.0/5*c+32; printf(F=%fn, f);3、#include void main() float c1, c2, c3, ver, s; printf(Input a, b and c:); scanf(%f%f%f, &c1, &c2, &c3); s=c1+c2+c3; ver=s/3; printf(total s=%f , ver=%fn, s,ver); 第4章 习题参考答案1 判断题1234562 选择题12345678BBBBDABB3 程序阅读题(1) 105(2) a=8(3) abc123DEF(4)4 程序填空题(1) chch=)count-count=0count0(2) div=ndiv(3) min=mark min=mark max=mark sum+=mark5 编程题(1) #include void main( ) int x,y; printf(Enter the X,Y=?n); scanf(%d,%d,&x,&y); if(x0 & y0) printf(%d,%d)是第一像限n,x,y); else if(x0 & y0) printf(%d,%d)是第四像限n,x,y); else if(x0) printf(%d,%d)是第三像限n,x,y); else if(x0 & y0 & y=0) printf(%d,%d)在X轴正方向n,x,y); else if(x0) printf(%d,%d)在Y轴正方向n,x,y); else if(x=0 & y0) printf(%d,%d)在Y轴负方向n,x,y); else printf(%d,%d)为坐标原点n,x,y);(2)#include #include main() float a, b, c, x, s; printf(Input a, b and c:); scanf(%f%f%f, &a, &b, &c); if(a+b=c | a+c=b | b+c=a) printf(Error!n); else x=(a+b+c)/2; s=sqrt(x*(x-a)*(x-b)*(x-c); printf(area=%fn, s); (3)程序代码如下:#include void main() float salary, tax; int ntax; printf(nPlease enter a salary=); scanf(%f,&salary); ntax=salary/500; if (ntax=10) ntax=10; switch(ntax) case 0: case 1: tax=0;break; case 2: tax=(salary-1000)*0.05;break; case 3:case 4: tax=500*0.05+(salary-1500)*0.1;break; case 5:case 6: tax=500*0.05+1000*0.1+(salary-2500)*0.15;break; case 7:case 8:case 9: tax=500*0.05+1000*0.1+1000*0.15+(salary-3500)*0.20;break; case 10: tax=500*0.05+1000*0.1+1000*0.15+1500*0.20+(salary-5000)*0.30; printf(nThe tax=%10.2fn,tax); (4)方法一#include #include main() int i=1; float t=-1, s=0; do t= -t/i; s=s+t; i=i+1; while(fabs(t)1e-6); printf(s=%fn, s); 方法二#include void main() int i=1,sign=1; float t=1.0, s=0.0; while(1.0/t1e-6) t= t*i; s=s+sign/t; i=i+1; sign=-sign; ; printf(s=%fn, s);(5)方法一:#include main() int i, a, b, c; for(i=100; i=999; i+) a=i /100; b=i/10%10; c=i%10; if(i=a*a*a+b*b*b+c*c*c) printf(%dn, i); 方法二:#include void main() int i, a, b, c; for(a=1; a=9; a+) for(b=0; b=9; b+) for(c=0; c=9; c+) i=a*100+b*10+c; if(i=a*a*a+b*b*b+c*c*c) printf(%dn, i); (6)#include main() int i, j; for(i=1; i=4; i+) for(j=1; j=6-i; j+) putchar( ); for(j=1; j=1; i-) for(j=1; j=6-i; j+) putchar( ); for(j=1; j=i*2-1; j+) printf(%c, 65+i-1); printf(n); (7)#include main() int a, b, c; for(a=0; a=20; a+) for(b=0; b=33; b+) c=100-a-b; if(a*5+b*3+c/3.0=100) printf(%d, %d, %dn, a, b, c); (8)#include #include main() float x, x0, a; scanf(%f, &a); x=a; do x0=x; x=2/3.0*x0+a/(3*x0*x0); while(fabs(x-x0)1e-6); printf(x=%fn, x);(9)#include #include main() float pi, pi0; int i=1 pi=2; do pi0=pi; pi=pi*(2.0*i/(2.0*i-1)*(2.0*i/(2.0*i+1); i=i+1; while(fabs(pi-pi0)1e-6); printf(pi=%fn, pi);(10)#include void main() int i,j,s; for(i=6;i=1000;i+) s=1; for(j=2;j=i/2;j+) if(i%j=0) s+=j; if(s=i) /*判断是否是合数*/ printf(%d=1,i); /* 打印输出合数及=1*/ for(j=2;j=i/2;j+) /* 打印输出各因子*/ if(i%j=0) printf(+%d,j); printf(n); (11)#include #include void main() int x, y,z,k; k=sqrt(2000); for(x=0;x=k;x+) for(y=0;y=k;y+) for(z=0;z=k;z+) if(x*x+y*y+z*z=2000) printf(%d,%d,%dn,x,y,z);第5章 习题参考答案1 判断题1234567891011121314152 填空题(1) 32(2) 4(3) str17= 0;(4) for(i=1;i=6;i+) gets(ai);(5) strcpy(web, );(6) int *p=a;(7) 5(8) 1(9) *(p+6)或 *(s+6)3 选择题123456789101112131415BCBABCBACDBDBAD4 程序阅读题(1) 6(2) str(3) 60(4) bcdefgacdefgabdefgabc(5) a1e25 程序填空题(1) # include scanf(%f, &ai)s=0;x=a0fabs(ai-s)(2) scanf(%d,&n)aii=1ai-1j-1printf(n)(3) bi!=0strcpyputs(b)(4)p=a0; 或p=&a00; *p六、编程题1、使用数组和指针2种方法来处理。方法一(使用数组)#include void main() int i=0,a10,t; printf(Enter the 10 number=n); for(i=0; i10; i+) scanf(%d,&ai); for(i=0;i5;i+) t=ai;ai=a9-i;a9-i=t; for(i=0; i10; i+) printf(%d ,ai); printf(n);方法二(使用指针)#include void main() int i=0,a10,t,*p,*q; printf(Enter the 10 number=n); for(p=a; pa+10; p+) scanf(%d,p); p=a; q=a+9; for(;pq;p+,q-) t=*p;*p=*q;*q=t; for(p=a; pa+10; p+) printf(%d ,*p); printf(n);2、#include main() int i, j, t, n, a11=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; for(i=0;i10;i+) printf(%d , ai); printf(n); printf(Enter the Move n=?); scanf(%d, &n); for(i=1; i=0;j-) aj+1=aj; a0=t; for(i=0; i=10; i+) printf(%d , ai); getch();3、#include #include main() int a100, b100, i, j, p, n=0, t; randomize(); for(i=0; i100; i+) ai=random(100); if(ai%2=0) bn+=ai; for(i=0; in-1; i+) p=i; for(j=i+1; jbp) p=j; t=bp; bp=bi; bi=t; for(i=0; in; i+) printf(%d , bi); if(i%10=9) printf(n); getch();4、#include #include #define N 50main() int aN, i, j,p,t; randomize(); for(i=0; iN; i+) ai=random(100); for(j=0;ji;j+) if(ai=aj) i-; break; for(i=0; iN-1; i+) p=i; for(j=i+1; jap) p=j; t=ap; ap=ai; ai=t; for(i=0; iN; i+) printf(%d , ai); if(i%10=9) printf(n); 4,#include #define N 10void main() int i; float aN,s=0.0,x0=0.0; for(i=0;iN;i+) scanf(%f,&ai); x0+=ai; x0/=N; for(i=0;iN;i+) s+=(ai-x0)*(ai-x0); printf(%10.6f, s); 5,#define N 4#define M 3void main() int i,j,sum,aNM+1,max,p; printf(input scoren); for(i=0;iN;i+) /*i代表学生序号*/ sum=0; /*每位学生成绩输入前,其总成绩赋初值0*/ for(j=0;jM;j+) /*j代表课程代号*/ scanf(%d,&aij); /*输入第i号学生第j门课程的成绩*/ sum=sum+aij; /*累加求总成绩*/ aiM=sum; /*求第i个学生的总成绩放到aiM*/ max=a0M; p=0; for(i=1;imax) p=i; printf(No.%d Total score:%dn,p+1,apM);7、#include void main() int a56; int i, j, mi, mj; for(i=0; i5; i+) for(j=0; j6; j+) printf(input a%d%d:, i, j); scanf(%d, &aij); mi=0; mj=0; for(i=0; i5; i+) for(j=0; j6; j+) if(aijamimj) mi=i; mj=j; printf(%d ,aij); printf(n); printf(min=%d ,amimj); 6,#include #include void main() float a56; int i, j, max; printf(Enter array a=?n ); for(i=0; i5; i+) for(j=0; j6; j+) scanf(%f, &aij); for(i=0; i5; i+) max=ai0; for(j=0; jfabs(max) max=aij; for(j=0; j6; j+) /*第i行中所有元素除以绝对值最大的元素*/ aij=aij/max; printf(%8.4, aij); printf( -max =%8.4n,max); 7,#include #include #define N 20main() char strN15,st15,*p=st; int i, j; for(i=0; iN; i+) scanf(%s, stri); for(i=0; iN; i+) for(j=0; j0) strcpy(p,strj); strcpy(strj,strj+1); strcpy(strj+1,p); for(i=0; iN; i+) printf(%sn, stri);10、程序如下:#include main() int a10, b10, t; int n=0, m=0, i, j, f; printf(Input Array a, end with 1:); scanf(%d, &t); while(n10 & t!=-1) an+=t; scanf(%d, &t); printf(Input Array b, end with 1:); scanf(%d, &t); while(m10 & t!=-1) bm+=t; scanf(%d, &t); for(i=0; in; i+) /* 打印只在数组a中出现的元素 */ f=1; for(j=0; jm; j+) if(ai=bj) f=0; break; if(f) printf(%d, ai); for(i=0; im; i+) /* 打印只在数组b中出现的元素 */ f=1; for(j=0; jn; j+) if(bi=aj) f=0; break; if(f) printf(%d, bi); 11、#include main() char str81; int i=-1; printf(Input:); scanf(%s, str); while(+i80 & stri!= 0)if(stri= $) stri= S; puts(str);12、#include void main() char x80,y26; int i,j,ny=0; gets(x); for(i=0;xi!=0;i+) if(xi=A&xi=Z) for(j=0;jny;j+) if(yj=xi) break; if(j=ny) yny=xi; ny+; for(i=0;iny;i+) printf(%c ,yi); printf(n); 13、#include void main() int m, bin32,j; scanf(%d,&m); for(j=0;m!=0;j+) binj= m%2; m=m/2; for(;j!=0;j-) printf(%d, binj-1 ); 14、#include #include #include void main() char s80;int i=0;gets(s); while(si!=0) if(isdigit(si) strcpy (s+i,s+i+1); else i+; puts(s);15、void main()int a,b,c;int *p1,*p2,*p3,*t;printf(nPlease input three integers:n);scanf(%d,%d,%d,&a,&b,&c);p1=&a,p2=&b,p3=&c;if(*p1*p2) t=p1,p1=p2,p2=t;if(*p1*p3) t=p1,p1=p3,p3=t;if(*p2*p3) t=p2,p2=p3,p3=t;printf(new order:n);printf(%d,%d,%d,*p1,*p2,*p3);16、void main() char st80,ss20,sp20,*a=st,*b=ss,*t=sp; int i,n,m,p=-1; printf(nPlease input two string:n); gets(a);gets(b); n=strlen(a); m=strlen(b); for(i=0;i=n-m+1;i+) a=st+i; strncpy(t,a,m); /*将字符指针a指向的字符串取前m个字符复制到t所指的字符串中*/ if(strcmp(b,t)=0) p=i; break; if(p=-1) printf(%d,p); else printf(%d,p+1); /*因数组下标从0开始,所以输出p+1*/ getch();17、#include void main() char st80,*p=st,ch; printf(Enter a stringn); gets(p); while(*p!=0) ch=*p; if(ch=A & ch=a & ch=z) ch=a+(z-ch); *p=ch; /*转换后的字符替换原字符*/ p+; /*指针指向下一个字符*/ /*指针指向字符串首字符*/ p=st; puts(p); getch();18、#include void main() char st80,*p=st,ch; long k=0; printf(Enter a stringn); gets(p); strupr(p); while(*p!=0) ch=*p; if(ch=0 & ch=A & ch=0 & ch=A & ch=F) k=16*k+(10+ch-A); p+; printf(%ldn,k); 第6章 习题参考答案6 判断题123456789107 选择题12345CBACD8 填空题(1) char *printch(int,char);(2) int strlen(char *);(3) int min(int *);(4) int random(void);(5) int digits(double,int);9 程序阅读题(1) (127)10=(7F)16(2) 30(3) a=64,b=64(4) (3,6)10 程序填空题(1) random(10)+0 s,N,c aI-0(2) int *m xvk vk+1(3) sign=-1digit=0 digit=digit*10+(sk-0)(4) 1.1,2.2,3.3,4.4,5.5 float x, float *a, int n return y11 编程题(1)#includeint jfnum(int n);main()int i;for(i=100;i=999;i+) if(judge(i)printf(%dn,i);int judge(int n)int n1,n2,n3,flag; if(n999)printf(error!);elsen1=n%10;n2=(n/10)%10;n3=n/100;if(n=n1*n1*n1+n2*n2*n2+n3*n3*n3)flag=1; else flag=0; return(flag);(2)float mysqr(float a,float eps)float x0,x1,t; if(aeps); return(x1);(3)void code(char s,int n)int i;for(i=0;in;i+)if(A=si&si=Z|a=si&siz|siZ&sia)si=si-26;void recode(char s,int n)int i;for(i=0;in;i+)if(A=si&si=Z|a=si&si=z)si=si-5;if(siA|siZ)si=si+26;(4)int leapyear(int year);main() int year;printf(Input year number:);scanf(%d,&year);if(leapyear(year)=1)printf(n%d is leap yearn, year);else printf(n%d is not leap yearn, year);int leapyear(int year)if(year%4=0&year%100!=0|year%400=0)return(1);else return(0);(5)#includechar *search(char *s,char c)int flag;flag=0;while(*s!=0)if(*s=c)flag=1;break;s+;if(flag=1)return(s);else return(NULL);(6)#includevoid maxmin(int a,int b,int c,int *max,int *min);main()int a,b,c,max,min; printf(nPlease input three integers:n);scanf(%d,%d,%d,&a,&b,&c);maxmin(a,b,c,&max,&min);printf(max=%d,min=%d ,max,min);void maxmin(int a,int b,int c,int *max,int *min)if(ab) *max=a; *min=b;if(c*max) *max=c;if(c*min) *min=c;(7)#include#includevoid getdata(int a,int n);/*随机生成数据函数的原型声明*/void printdata(int a,int n);/*输出数据函数原型声明*/void sort(int a,int n);/*排序函数原型声明*/float average(int a,int n);/*求平均值函数原型声明*/void count(int a,int n,float x,int b);/*统计函数原型声明*/main()int a20,b3;float x;getdata(a,20); printf(nInitialize:n);printdata(a,20);sort(a,20); printf(nSort:n);printdata(a,20);x=average(a,20); printf(nAverage:%fn,x);count(a,20,x,b);printf(n = :n); printdata(b,3);void getdata(int a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区信息化配套服务协议简单版样式4篇
- 2025行业国际化发展策略分析
- 中国银行2025阿坝藏族羌族自治州结构化面试15问及话术
- 邮储银行2025宁德市秋招无领导小组面试案例题库
- 中国银行2025深圳市半结构化面试15问及话术
- 建设银行2025鄂尔多斯市半结构化面试15问及话术
- 北京大学爱心捐赠协议书4篇
- 工商银行2025乌鲁木齐市秋招笔试价值观测评题专练及答案
- 工商银行2025佳木斯市信息科技岗笔试题及答案
- 借用个体工商户协议3篇
- 4.2认识一次函数第1课时“均匀”变化的现象课件北师大版八年级数学上册
- 文物、古建筑、塔类、寺庙类施工方案、施工组织设计【高分可编辑】
- 生产开停机管理办法
- 养老护理员培训排泄照护
- 2025年小学道德与法治课程标准(2022版)考试测试卷及答案(共三套)
- 保监会保险股权管理办法
- 傣文教学课件
- 教师职业素养讲解课件
- DB42T 1196-2016 毛竹(楠竹)母竹造林技术规程
- 炎症性肠病的饮食护理措施讲课件
- 《妇产科护理》课件-关爱女性守护生殖健康
评论
0/150
提交评论