【最新+免费谭浩强c语言程序设计(第三版)第10章答案_第1页
【最新+免费谭浩强c语言程序设计(第三版)第10章答案_第2页
【最新+免费谭浩强c语言程序设计(第三版)第10章答案_第3页
【最新+免费谭浩强c语言程序设计(第三版)第10章答案_第4页
【最新+免费谭浩强c语言程序设计(第三版)第10章答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、【最新编排】- 第十章 0.#include void main() void swap(int *p,int *q); int x,y,z; int *p,*p,*p3; printf(输入三个整数nn); scanf(%d%d%d,&x,&y,&z); p=&x; p=&y; p3=&z; if(xy) swap(p,p); if(xz) swap(p,p3); if(yz) swap(p,p3); printf(nn三个数由小到达输出为:%d %d %dnn,x,y,z);void swap(int *p,int *q) int temp; temp=*p; *p=*q; *q=temp

2、; 0.#include #include #define n 80void main() void swap(char *p,char *q); char str【n】,str【n】,str3【n】; printf(请输入三个字符串nn); scanf(%s,str); scanf(%s,str); scanf(%s,str3); if(strcmp(str,str)0) swap(str,str); if(strcmp(str,str3)0) swap(str,str3); if(strcmp(str,str3)0) swap(str,str3); printf(nn三个字符串由小到大排列

3、,分别为:nn%sn%sn%sn,str,str,str3);void swap(char *p,char *q) char str【n】; strcpy(str,p); strcpy(p,q); strcpy(q,str); 0.3#include #define n 0void main() void input(int num【n】); void swap(int *p,int *q); void exchange(int num【n】); void output(int num【n】); int num【n】; input(num); exchange(num); output(num

4、);void input(int num【n】) int i; printf(输入十个整数nn); for(i=0;in;i+) scanf(%d,&num【i】); 0.4#include #define n 0#define m 3void main() void move(int num【n】,int n,int m); int num【n】; int i; printf(输入%d个整数nn,n); for(i=0;in;i+) scanf(%d,&num【i】); move(num,n,m); printf(nn调整后地%d个整数为:nn,n); for(i=0;i=num;p-) *

5、p=*(p-); *num=temp; m-; if(m0) move(num,n,m); 0.5#include #define n 8void main() void leave(int num【n】); int num【n】; int i,*p; p=num; for(i=0;in;i+) *(p+i)=i+; leave(num); while(*p=0) p+; printf(最后留下地是第%d个人nn,*p);void leave(int num【n】) int *p; int i=0,k=0,m=0; p=num; while(mn-) if(*(p+i)!=0) k+; if(

6、k=3) *(p+i)=0; k=0; m+; i+; if(i=n) i=0; 0.6#include #define n 0void main() int count(char str【n】); int i; char str【n】; printf(输入个字符串nn); gets(str); printf(nn字符串长度为:%dnn,count(str);int count(char str【n】) char *p; int i=0; p=str; while(*p!=0) i+; p+; return(i); 0.7#include #define n 80#define m 4void

7、 main() void copy(char str【n】,char str【n】); char str【n】,str【n】; printf(输入字符串strnn); gets(str); printf(nn输入字符串strnn); gets(str); copy(str,str); printf(nn整合之后地字符串为:nn); puts(str);void copy(char str【n】,char str【n】) char *p,*p; int i; p=str; p=str; for(i=0;istrlen(str);i+) *(p+m+i)=*(p+i); *(p+m+i)=0; 0

8、.8#include #define n 80void main() void count(char str【n】,int *cap,int *low,int *space,int *num,int *oth); char str【n】; int a=0,b=0,c=0,d=0,e=0; int *cap,*low,*space,*num,*oth; cap=&a; low=&b; space=&c; num=&d; oth=&e; printf(输入个字符串nn); gets(str); count(str,cap,low,space,num,oth); printf(nn大写字母个数为:%

9、dnn小写字母个数为:%dnn空格个数位:%dnn数字个数为:%dnn其他字符个数为:%dnn,*cap,*low,*space,*num,*oth);void count(char str【n】,int *cap,int *low,int *space,int *num,int *oth) int i; for(i=0;str【i】!=0;i+) if(str【i】=a&str【i】=a&str【i】=0&str【i】=9) (*num)+; else (*oth)+; 0.9#include #define n 3void main() void move(int *p); int a【n

10、】【n】; int *p,i,j; printf(输入个%d*%d地矩阵nn,n,n); for(i=0;in;i+) for(j=0;jn;j+) scanf(%d,&a【i】【j】); p=&a【0】【0】; move(p); for(i=0;in;i+) for(j=0;jn;j+) printf(%d ,a【i】【j】); printf(n); void move(int *p) int i,j,temp; for(i=0;in;i+) for(j=i;jn;j+) temp=*(p+i*n+j); *(p+i*n+j)=*(p+j*n+i); *(p+j*n+i)=temp; 0.0

11、#include #define n 3void main() void swap(int *p,int *q); void sort(int *p); int arr【n】【n】; int i,j,*p; printf(输入个%d*%d地矩阵nn,n,n); for(i=0;in;i+) for(j=0;jn;j+) scanf(%d,&arr【i】【j】); p=&arr【0】【0】; sort(p); printf(调整后地矩阵为:nn); for(i=0;in;i+) for(j=0;jn;j+) printf(%d ,arr【i】【j】); printf(n); void swap(

12、int *p,int *q) int temp; temp=*p; *p=*q; *q=temp;void sort(int *p) int *max,*min; int i,j; max=p; min=p; for(i=0;in;i+) for(j=0;j*max) max=p+i*n+j; if(*(p+i*n+j)*min) min=p+i*n+j; swap(max,(p+(n-)*(n+)/); swap(min,p); min=p+; for(i=0;in;i+) for(j=0;jn;j+) if(*(p+i*n+j)*min)&(p+i*n+j)!=p) min=p+i*n+j

13、; swap(min,(p+n-); min=p+; for(i=0;in;i+) for(j=0;jn;j+) if(*(p+i*n+j)*min)&(p+i*n+j)!=p)&(p+i*n+j)!=(p+n-) min=p+i*n+j; swap(min,(p+(n-)*n); min=p+; for(i=0;in;i+) for(j=0;jn;j+) if(*(p+i*n+j)*min)&(p+i*n+j)!=p)&(p+i*n+j)!=(p+n-)&(p+i*n+j)!=(p+(n-)*n) min=p+i*n+j; swap(min,(p+n*n-); 0.#include #def

14、ine n 5void main() void swap(char *p,char *q); void sort(char *p); char str【n】【n】,*p; int i; printf(输入%d个字符串nn,n); for(i=0;in;i+) scanf(%s,str【i】); p=&str【0】【0】; sort(p); printf(nn排序后地%d个字符串为nn,n); for(i=0;in;i+) printf(%sn,str【i】);void swap(char *p,char *q) char s【n】; strcpy(s,p); strcpy(p,q); strc

15、py(q,s);void sort(char *p) int i,j; for(i=0;in;i+) for(j=i+;j0) swap(p+i*n),(p+j*n); 0.#include #define n 5#define m 0void main() void sort(char *p【n】); char str【n】【m】,*p【n】; int i; printf(输入%d个字符串nn,n); for(i=0;in;i+) scanf(%s,str【i】); for(i=0;in;i+) p【i】=str【i】; sort(p); printf(nn排序后地%d个字符串为nn,n);

16、 for(i=0;in;i+) printf(%sn,p【i】);void sort(char *p【n】) int i,j; char *q; for(i=0;in;i+) for(j=i+;j0) q=p【i】; p【i】=p【j】; p【j】=q; 0.3#include #include void main() float integral(float a,float b,int n,double (*fun)(double); int n=00; float a,b,c; double (*fun)(double); printf(输入积分范围:(a,b)nn); scanf(%f%

17、f,&a,&b); fun=sin; c=integral(a,b,n,fun); printf(nnsin积分结果为:%fnn,c); fun=cos; c=integral(a,b,n,fun); printf(nncos积分结果为:%fnn,c); fun=exp; c=integral(a,b,n,fun); printf(nnexp积分结果为:%fnn,c);float integral(float a,float b,int n,double (*fun)(double) int i; float x,h,area; h=(b-a)/n; x=a; area=0; for(i=0;

18、in;i+) x=x+h; area=area+(*fun)(x)*h; return(area); 0.4#include #define n 0void main() void swap(int *p,int *q); void back(int *p,int n); int a【n】,i,n; printf(输入个数nnn); scanf(%d,&n); printf(nn输入%d个整数nn,n); for(i=0;in;i+) scanf(%d,&a【i】); back(a,n); printf(nn逆序排列为:nn); for(i=0;in;i+) printf(%d ,a【i】);

19、 printf(nn);void swap(int *p,int *q) int temp; temp=*p; *p=*q; *q=temp;void back(int *p,int n) int i; for(i=0;in/;i+) swap(p+i,p+n-i); 0.5#include #define m 4#define n 5void main() void aver_count(char *cou,float *sco); void aver_stu(float *sco,float *ave); void fail(char *cou,int *num,float *sco,fl

20、oat *ave); void good(char *cou,int *num,float *sco,float *ave); char course【n】【0】,*cou; float score【m】【n】,aver【m】,*sco,*ave; int number【m】,*num,i,j; cou=course【0】; printf(输入%d门课程名nn,n); for(i=0;in;i+) scanf(%s,cou+i*0); printf(nn按顺序输入%d个学生学号和%d门课程地成绩nn,m,n); printf(学号 ); for(i=0;in;i+) printf(%s ,co

21、u+i*0); num=number; sco=&score【0】【0】; for(i=0;im;i+) scanf(%d,num+i); for(j=0;jn;j+) scanf(%f,sco+i*n+j); aver_count(cou,sco); ave=aver; aver_stu(sco,ave); ave=aver; fail(cou,num,sco,ave); ave=aver; good(cou,num,sco,ave);void aver_count(char *cou,float *sco) int i; float sum,aver; sum=0; for(i=0;im;

22、i+) sum+=(*(sco+i*n); aver=sum/m; printf(第门课%s地平均成绩为:%fnn,cou,aver);void aver_stu(float *sco,float *ave) int i,j; float sum; for(i=0;im;i+) sum=0; for(j=0;jn;j+) sum+=(*(sco+i*n+j); *(ave+i)=sum/n; void fail(char *cou,int *num,float *sco,float *ave) int i,j,k,flag; printf(=两门以上课程不及格地学生=nn); printf(学

23、号); for(i=0;in;i+) printf( %-8s,cou+i*0); printf( 平均成绩nn); for(i=0;im;i+) flag=0; for(j=0;jn;j+) if(*(sco+i*n+j) printf(%-8d,*(num+i); for(k=0;kn;k+) printf(%-8.f,*(sco+i*n+k); printf(%-8.fnn,*(ave+i); void good(char *cou,int *num,float *sco,float *ave) int i,j,k,flag; printf(=平均成绩在90分以上或者每门课在85分以上地

24、学生=nn); printf(学号); for(i=0;in;i+) printf( %-8s,cou+i*0); printf( 平均成绩nn); for(i=0;im;i+) flag=0; for(j=0;j=85) flag+=; if(flag=5|(*(ave+i)=90) printf(%-8d,*(num+i); for(k=0;kn;k+) printf(%-8.f,*(sco+i*n+k); printf(%-8.fnn,*(ave+i); 0.6#include #define n 50void main() char str【n】,*p; int i,j,temp; i

25、nt number【n】,*num; printf(输入个字符串nn); gets(str); p=str; temp=0; j=0; num=number; for(i=0;(*(p+i)!=0&i=0&(*(p+i)=0&(*(p+i+)=9) temp=temp*0+*(p+i)-48; else temp=temp*0+*(p+i)-48; *(num+j)=temp; temp=0; j+; printf(nn字符串中共有%d个整数,它们分别为:nn,j); for(i=0;ij;i+) printf(%d ,*(num+i); printf(nn); 0.7#include #de

26、fine n 0void main() int strcmp(char *p,char *p); char str【n】,str【n】; char *p,*p; printf(输入字符串strnn); gets(str); printf(nn输入字符串strnn); gets(str); p=str; p=str; printf(nn%dnn,strcmp(p,p);int strcmp(char *p,char *p) int i,flag=0; for(i=0;*(p+i)!=0&*(p+i)!=0;i+) if(*(p+i)=*(p+i) flag=0; else flag=*(p+i)-*(p+i); break; return flag; 0.8#include void main() char *mon【】=月份,二月份,三月份,四月份,五月份,六月份,七月份,八月份,九月份,十月份,十月份,十二月份; int n; pri

温馨提示

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

评论

0/150

提交评论