《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc

上传人:PIYPING 文档编号:10616212 上传时间:2021-05-26 格式:DOC 页数:10 大小:60.50KB
返回 下载 相关 举报
《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc_第1页
第1页 / 共10页
《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc_第2页
第2页 / 共10页
《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc_第3页
第3页 / 共10页
《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc_第4页
第4页 / 共10页
《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计(何钦铭 颜晖 主编)》习题8答案.doc(10页珍藏版)》请在三一文库上搜索。

1、P173习题8第一题#includeint main(void)char ch;int a10;int i,j,m;printf(请输入10个整数:n);for(i=0;i10;i+)printf(请输入%d第个数:,i+1);scanf(%d,&ai);printf(请输入A或D:);scanf( %c,&ch);if(ch=A)for(i=0;i9;i+)for(j=i+1;jaj)m=ai;ai=aj;aj=m;else if(ch=D)for(i=0;i9;i+)for(j=i+1;j10;j+)if(aiaj)m=ai;ai=aj;aj=m;for(i=0;i10;i+)printf

2、(%d ,ai);return 0;第二题#includeint main(void) int a10; int i,j,x; int search(int list,int i,int x); printf(输入10个整数:); for(i=0;i10;i+) scanf(%d,&ai); printf(输入一个整数x:); scanf(%d,&x); j=0; for(i=0;i10;i+) if(search(a,i,x)!=-1) j+; printf(%d,search(a,i,x); else; if(j=0) printf(-1); return 0;int search(int

3、 list,int i,int x) int j;j=0;if(x=listi) j+;else;if(j=0)return -1;elsereturn i;第三题#includevoid houyi(int a,int *p,int n,int m);int main(void) int a20; int i,m,n; printf(请输入整数n:); scanf(%d,&n); printf(请输入%d个整数:,n); for(i=0;in;i+) scanf(%d,&ai); printf(请输入您要后移的位数m:); scanf(%d,&m); houyi(a,a,n,m); for(

4、i=0;in;i+) printf(%d,ai); printf(n); return 0;void houyi(int a,int *p,int n,int m) int i; int b20; for(i=0;in;i+)bi=ai;for(i=0;in;i+)if(i=n-m-1)*(p+i+m)=bi;else*(p+(i+m)%n)=bi;第四题#includevoid swap2(int *,int *);void bubble(int a,int n);int main(void)int n,a8;int i;printf(Enter n(n=8):);scanf(%d,&n);

5、printf(Enter a%d:,n);for(i=0;in;i+)scanf(%d,&ai);bubble(a,n);printf(After sorted,a%d=,n);for(i=0;in;i+)printf(%3d,ai);return 0;void bubble(int a,int n)int i,j,m;static int b8;for(i=1;in;i+)for(j=0;jaj+1)swap2(&aj,&aj+1);for(m=0;mn;m+)if(am=am+1)bm+;if(bm=n-1)break;void swap2(int *px,int *py)int t;t=

6、*px;*px=*py;*py=t;第五题#include#includevoid mcopy(char *s,int m);int main(void) int i,m,l;char str100;printf(请输入您要输入的字符串:);gets(str);printf(您将从原字符串的第m位复制新字符串,请输入m:n);scanf(%d,&m);printf(复制后,新的字符串为:); mcopy(str,m);return 0;void mcopy(char *s,int m)printf(%sn,s+m-1);第六题#include#includevoid delchar(char

7、*,char c);int main(void)char str80;char ch;printf(Enter a string:);gets(str);printf(Enter delete char:);scanf(%c,&ch);delchar(str,ch);printf(%sn,str);return 0;void delchar(char *s,char c) int i,j;char str180; j=0;for(i=0;si!=0;i+)if(si!=c)str1j=si;j+; str1j=0;for(i=0;str1i!=0;i+,s+) *s=str1i;*s=0;第七

8、题#include#includestruct zfcchar str80;int main(void) int i,j;char str80,str180;struct zfc s5;for(i=0;i5;i+)printf(请输入第%d个字符串:,i+1);scanf(%s,si.str); for(i=0;i=3;i+)for(j=i+1;j0) strcpy(str1,si.str);strcpy(si.str,sj.str);strcpy(sj.str,str1);for(i=0;i5;i+)puts(si.str);return 0;第八题#include#includeint m

9、ain(void)int l,i;char str80,str180;char *p,*q;p=str;q=str1;printf(请输入一串字符:);scanf(%s,str);l=strlen(str);for(i=0;*p!=0;p+,i+)*(q+l-1-i)=*p;*(q+l)=0;if(strcmp(str,str1)=0)printf(输入的字符串是“回文”!n);else printf(输入的字符串不是“回文”!n);return 0;第九题#include#includeint main(void)char str80;char *p;p=str;int n1,n2,n3,n

10、4,n5;printf(输入一行文字:);gets(str); n1=n2=n3=n4=n5=0;for(;*p!=0;p+)if(*p=A)&(*p=a)&(*p=0)&(*p=9)n4+;elsen5+;printf(大写字母字符的个数为:%dn,n1); printf(小写字母字符的个数为:%dn,n2);printf(空格字符的个数为: %dn,n3);printf(数字字符的个数为: %dn,n4);printf(其他字符的个数为: %dn,n5);return 0;第十题#include#includeint strcomp(char s180,char s280);int mai

11、n(void) int m;char str180,str280;printf(请输入第一个字符串:);scanf(%s,str1);printf(请输入第二个字符串:);scanf(%s,str2); m=strcomp(str1,str2);if(m=1)printf(str1str2n);else if(m=0)printf(str1=str2n);elseprintf(str10)a=1;else if(strcmp(s1,s2)=0)a=0;elsea=-1;return a;第十一题#include#includevoid fushu(char *p);int main(void)

12、char str80;printf(请输入一个英语名词单词:);scanf(%s,str); fushu(str);puts(str);return 0;void fushu(char *p) int i,l;l=0;for(i=0;*(p+i)!=0;i+) l+;if(*(p+l-1)=y)*(p+l)=e;*(p+l+1)=s;*(p+l+2)=0;else if(*(p+l-1)=s)|(*(p+l-1)=x)|(*(p+l-2)=c)&(*(p+l-1)=h)|(*(p+l-2)=s)&(*(p+l-1)=h)*(p+l)=e;*(p+l+1)=s;*(p+l+2)=0;else i

13、f(*(p+l-1)=o)*(p+l)=e;*(p+l+1)=s;*(p+l+2)=0;else*(p+l)=s;*(p+l+1)=0;第十二题#include#includeint main(void)int i,j,a,n,sum,average;int *p;printf(Enter n:);scanf(%d,&n);if(p=(int*)calloc(n,sizeof(int)=NULL)printf(Not able to allocate memory.n);exit(1);printf(您将输入%d个学生的成绩!n,n);for(i=0;in;i+)printf(请输入第%d个学生的成绩:,i+1);scanf(%d,p+i);sum=0;for(i=0;in;i+)sum=sum+*(p+i);average=sum/n;for(i=0;in-1;i+)for(j=i+1;j*(p+j)a=*(p+i);*(p+i)=*(p+j);*(p+j)=a;printf(学生的平均成绩是:%dn,average);printf(学生的最高成绩是:%dn,*(p+n-1);printf(学生的最低成绩是:%dn,*p); return 0;

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1