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

下载本文档

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

文档简介

1、习题习题 7 答案答案 1答案 #include int merge(int a,int b,int c,int m,int n) int i=0, j=0, k=0; while(im else ck+=bj+; while(im) ck+=ai+; while(jn) ck+=bj+; return k; main( ) int a=1,4,7,9, b=3,5,7,8,12,c20,i,k; k=merge(a,b,c,4,5); printf(array a:n); for(i=0;i4;i+) printf(%4d, ai); printf(n); printf(array b:n)

2、; for(i=0;i5;i+) printf(%4d, bi); printf(n); printf(merged array c:n); for(i=0;ik;i+) printf(%4d, ci); printf(n); 2答案 #include void count(int a,int b,int m) int i, k; for(i=0; i0) bk%10+; k=k/10; main( ) int a=23, 12, 40, 3, 8, 9, 34, 55, 66,b10=0,i; count(a,b,9); for(i=0;i10;i+) printf(%d:%dn, i, b

3、i); 3答案 #include int palin(int k) int i,j=0, a10; while(k0) aj+=k%10; k=k/10; for(i=0;ij;i+) if(ai!=aj-i-1) return 0; return 1; main( ) int k,x; printf(Please input an integer:n); scanf(%d, k=palin(x); if(k) printf(%d is palindrome.n, x); else printf(%d is not palindrome.n, x); 4答案 #include int isvo

4、wel(char c) if(c=a|c=e|c=i|c=o|c=u|c=A|c=E |c=I|c=O|c=U) return 1; else return 0; main( ) char s80; int i=0,sum=0; printf(Please input a string:n); scanf(%s, s); while(si) if(isvowel(si) sum+; i+; printf(the number of vowel:%dn, sum); 5答案 #include int DtoH(int n,int c) int i; for(i=0; n; i+) ci=n%16

5、; n/=16; return i-1; main( ) char h16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; int c20,n,i; printf(Please input a decimal number:n); scanf(%d, i=DtoH(n,c); for(;i=0;i-) printf(%c, hci); printf(n); 6答案 #include void input(int a, int n) /*输入*/ int i; printf( Please input %d numbers:n, n); for(i=0; in; i+) sca

6、nf(%d, void sort(int a, int n) /*用选择法排序,升序*/ int i, j, t, k; for (i=0; in-1; i+) k=i; for (j=i+1; jn; j+) if(ajak) k=j; if(k!=i) t=ak; ak=ai; ai=t; void output( int a, int n ) /*输出*/ int i; for(i=0; in; i+) printf(%4d, ai); printf(n); main( ) int a50, n; printf(Please input n:n); scanf(%d, input(a,

7、n); sort(a, n); output(a, n); 7答案 #include int decom(int k,int a) int j=0; while(k0) aj+=k%10; k=k/10; return j-1; int combin(int a,int m) int i,s=0; for(i=0;i=m;i+) s=s*10+ai; return s; main( ) int k,x,a10; printf(Please input a position number:n); scanf(%d, k=decom(x,a); printf(the reverse of %d i

8、s %d:n, x, combin(a,k); 8答案 #include #include void josephu(int a ,int b ,int n,int m) int i,j,k=0,t; for(i=0;in;i+) ai=i+1; an=1; for(i=0;in;i+) for(j=0;jm;j+) t=k;k=ak; bi=k; at=ak; main( ) int n,m,a20,b20,i; printf(Please input n scanf(%d%d, josephu(a,b,n,m); printf(result:n); for(i=0;in;i+) print

9、f(%dt,bi); printf(n); 9答案 #include #define M 3 #define N 4 int q1=0, q2=0; int andian(int aMN, int p1, int p2) int i, j, k, m, f, w, max; w=0; for(i=0; ip1; i+) k=0; max=ai0; for(j=0; jmax) k=j; max=aij; for(m=0, f=1; mp1 m+) if(amkmax) f=0; if(f) w=1; q1=i; q2=k; return w; main( ) int aMN=1, 2, 3,

10、4, 4, 5, 3, 6, 3, 5, 6, 7;/*2,4,10,6,3,4,5,8,9,1,2,3;*/ int w; w=andian(a,3,4); if(w) printf(okni=%dnj=%dn%dn, q1, q2, aq1q2); else printf(non); 10答案 #include int sumarray(int a4,int m,int n) int i,j,sum1=0,sum2=0,sum; for(i=0;im;i+) for(j=0;jn;j+) sum1+=aij; for(i=1;im-1;i+) for(j=1;jn-1;j+) sum2+=

11、aij; sum=sum1-sum2; return sum; main( ) int a4=3,6,4,6,8,3,1,3,4,7,1,2,2,9,5,3,sum; sum=sumarray(a,4,4); printf(sum=%dn, sum); 11答案 #include stdio.h #define N 5 int sum(int aN) int i,s=0; for(i=0;iN;i+) s=s+aii+aiN-i-1; return(s); main( ) int i,j,s,aNN; for (i=0;iN;i+) for(j=0;jN;j+) scanf(%d, s=sum

12、(a); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); printf(out,n); printf(sum=%4dn,s); 12答案 #include #include #define MAX 20 void fillmatrix(int matrixMAX,int n) int i,j,count; i=0; j=n/2; for (count=1; countMAX) printf(n- ERROR - Order should be = %d, MAX); else if (order%2=0) printf(n- ERROR - Ord

13、er must be an odd integer); else fillmatrix(matrix, order); printf(nMagic Square of order %d :n, order); for (i=0; iorder; i+) for (j=0; jorder; j+) printf(%4d, matrixij); printf(n); 13答案 #include void my_strlwr(char str1) int i=0; while (str1i) if(str1i=A i+; main( ) char s80; printf(Please input a

14、 string:n); gets(s); printf(primary string:n); printf(%sn, s); my_strlwr(s); printf(changed:%sn, s); 14答案 #include #include void invert(char s ) int i,n; char c; n=strlen(s); for(i=0;in/2;i+) c=si; si=sn-i-1; sn-i-1=c; main( ) char s80; printf(Please input a string:n); gets(s); printf(primary string

15、:n); printf(%sn, s); invert(s); printf(reverse:n); printf(%sn, s); 15答案 #include int match(char s ,char p ) int i,j,k; for(i=0;si!=0;i+) for(j=i,k=0;sj!=0j+,k+); if(pk=0) return i; return -1; main( ) int k; char s180, s280; printf(Please input primary string:n); gets(s1); printf(Please input substri

16、ng:n); gets(s2); k=match(s1,s2); if(k!=-1) printf(%s is substring of %s. location:%dn, s2, s1, k+1); else printf(%s is not substring of %sn. , s2, s1); 16答案 #include /*/ #include #include int countthe(char s ) int i,count=0; for(i=0;si!=0;i+) if(si= ) if(tolower(si+1)=t return count; main( ) char s80; int count=0; printf(Please input a string,end by blank linen); gets(s); while(strcmp(s,) count+=countthe(s); printf(Please input a stringn); gets(s); print

温馨提示

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

评论

0/150

提交评论