c語言參考答案_第1頁
c語言參考答案_第2頁
c語言參考答案_第3頁
c語言參考答案_第4頁
c語言參考答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、從10個(gè)整數(shù)中把最小的數(shù)找出來,并與最前面的數(shù)對調(diào), 指出最小的數(shù)原來的位置。#include void main( ) int i,j,a10,k;for(i=0;i=9;i+) scanf(%d,&ai);j=0;/*假設(shè)最小值是第0個(gè)元素*/for(i=1;i=9;i+) if(aiaj) j=i;if(j!=0)k=a0;a0=aj;aj=k;printf(min number is:%dn,a0);printf(the position is:%dn, j); #include int f(int a)int i,j,k;j=0;/*假設(shè)最小值是第0個(gè)元素*/for(i=1;i=9;

2、i+) if(aiaj) j=i;if(j!=0)k=a0;a0=aj;aj=k; return j;void main( ) int i,j,a10;for(i=0;i=9;i+) scanf(%d,&ai);j=f(a);printf(min number is:%dn,a0);printf(the position is:%dn, j); 已知5個(gè)數(shù)已經(jīng)按由大到小排好序,請編程使得它們按由小到大排序。(逆序)#include void main( ) int a5=5,4,3,2,1,i,t;for (i=0;i5/2;i+)t=ai;ai=a4-i;a4-i=t;for (i=0;i5

3、;i+)printf(%d,ai);#include void f(int a)int i,t;for (i=0;i5/2;i+)t=ai;ai=a4-i;a4-i=t;void main() int a5=5,4,3,2,1,i;f(a);for (i=0;i5;i+)printf(%d,ai);已知5個(gè)整數(shù),已經(jīng)由大到小排好序,現(xiàn)輸入一個(gè)數(shù),將其插入到該數(shù)組適當(dāng)位置,使其仍然有序。(定義并初始化、輸入、查找、移動、插入)#include void main( ) int a6=20,15,12,8,6;int i,k=9;if(k=0;i-)if(kai)ai+1=ai;else brea

4、k;ai+1=k;for (i=0;i6;i+)printf(%d ,ai);#include void f(int a,int k)int i;if(k=0;i-)if(kai)ai+1=ai;else break;ai+1=k;void main( ) int a6=20,15,12,8,6;int i;f(a,33);for (i=0;i6;i+)printf(%d ,ai);任輸入20個(gè)正整數(shù),找出其中素?cái)?shù),并按由小到大排序,打印輸出素?cái)?shù),每5個(gè)數(shù)換一行。#include #include void main( ) int a20,b20,i,j,k,m; for(i=0;i20;i+

5、) scanf(%d,&ai); k=0; for(i=0;i20;i+) for( j=2;jai-1) bk=ai; k+; for(i=0;ik-1;i+)for(j=0;jk-1-i;j+)if(bjbj+1) m=bj; bj=bj+1;bj+1=m; for(i=0;ik;i+) printf(%5d,bi); if(i+1)%5=0)printf(n); #include #include int sushu(int a)int j;int f=1;for( j=2;j=sqrt(a);j+)if(a%j=0) f=0;break; return f;int sushuarray

6、(int a,int b)int k=0;int i;for(i=0;i20;i+)if(sushu(ai)=1) bk=ai; k+; return k;void paixu(int b,int k)int i,j,m;for(i=0;ik-1;i+)for(j=0;jbj+1) m=bj; bj=bj+1; bj+1=m; void main( ) int a20,b20,i,k; for(i=0;i20;i+) scanf(%d,&ai); k=sushuarray(a,b); paixu(b,k); for(i=0;ik;i+) printf(%5d,bi); if(i+1)%5=0)

7、printf(n); 有一個(gè)23的矩陣,求每行最小值及每列的最小值。#include void main( ) int a23,b2,c3,i, j;for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&ai j);for(i=0;i2;i+) bi=ai0; for( j=1;j3;j+) if(ai jbi) bi=ai j; for(j=0;j3;j+) cj=a0j; for(i=1;i2;i+) if(aijcj) cj=aij; for(i=0;i2;i+)for(j=0;j3;j+)printf(%5d,aij);printf(%5dn,bi); for

8、(i=0;i3;i+) printf(%5d,ci);printf(n);#include void f(int a23,int b2,int c3)int i,j;for(i=0;i2;i+) bi=ai0; for( j=1;j3;j+) if(ai jbi) bi=ai j; for(j=0;j3;j+) cj=a0j; for(i=1;i2;i+) if(aijcj) cj=aij; void main( ) int a23,b2,c3,i, j;for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&ai j);f(a,b,c); for(i=0;i2;i+)

9、for(j=0;j3;j+)printf(%5d,aij);printf(%5dn,bi); for(i=0;i3;i+) printf(%5d,ci);printf(n);編一程序,將兩個(gè)字符串連接起來法一:不用函數(shù)#include void main()char a80,b30;int i,j;gets(a);gets(b);for(i=0;ai!=0;i+);for(j=0;bj!=0;j+)ai+=bj;ai=0;puts(a);puts(b);法二:用函數(shù)#include void f(char a,char b)int i,j;for(i=0;ai!=0;i+);for(j=0;b

10、j!=0;j+)ai+=bj;ai=0;void main()char a80,b30;gets(a);gets(b);f(a,b); /puts(a);puts(b);任輸入十個(gè)國家的名字,按由小到大排序。#include #include void main( ) char a1020,b20; int i,j; for (i=0;i10;i+) gets(ai); for (i=0;i9;i+) for (j=0;j0) strcpy(b,aj); strcpy(aj,aj+1); strcpy(aj+1,b); printf(paixu is :n); for (i=0;i10;i+)

11、 printf(%sn,ai); #include #include void f(char a1020)int i,j;char b20;for (i=0;i9;i+) for (j=0;j0) strcpy(b,aj); strcpy(aj,aj+1); strcpy(aj+1,b); void main( ) char a1020; int i; for (i=0;i10;i+) gets(ai); f(a); printf(paixu is :n); for (i=0;i10;i+)printf(%sn,ai);有一篇三行文字的文章,每行最多80個(gè)字符,編寫函數(shù),由實(shí)參傳遞字符串,分別

12、統(tǒng)計(jì)文章中大寫字母、小寫字母、數(shù)字、空格及其它字符的個(gè)數(shù)。分析: 自定義函數(shù)需返回多個(gè)統(tǒng)計(jì)結(jié)果,可采用一個(gè)專門的數(shù)組存放統(tǒng)計(jì)結(jié)果,并將其作為函數(shù)參數(shù),在被調(diào)函數(shù)中計(jì)數(shù)。#include void count(char s380, int c5) int i, j; char t; /*用臨時(shí)變量t提高效率*/ for(i=0; i=a&t=a&t=0&t=9) c2+; else if(t=32) c3+; else c4+; return;void main( ) char str380; static int c5, i; /*c各元素為0*/ void count(char 80, in

13、t ); for(i=0; i=2; i+) /*輸入三行字串*/ gets(stri); count(str, c); /*實(shí)參:兩個(gè)數(shù)組指針*/ for(i=0; i=4; i+) /*輸出統(tǒng)計(jì)結(jié)果*/ printf(%5d, ci);編寫以下5函數(shù),實(shí)現(xiàn)對一個(gè)數(shù)組按由小到大排序,并統(tǒng)計(jì)排序過程中交換的次數(shù)(注意參數(shù)、返回值的設(shè)計(jì)) 打印一個(gè)數(shù)組 將一個(gè)數(shù)組復(fù)制到另一個(gè)數(shù)組中 用起泡法實(shí)現(xiàn)排序和統(tǒng)計(jì) 用選擇法實(shí)現(xiàn)排序和統(tǒng)計(jì) main() 數(shù)組初始化為5,27,10,8,15,7,9,24,3,6 用起泡法 打印原始數(shù)組和排序后數(shù)組、統(tǒng)計(jì)次數(shù) 用選擇法排序原始數(shù)組并統(tǒng)計(jì) 打印原始數(shù)組和排序后

14、數(shù)組、統(tǒng)計(jì)次數(shù)#include void myprint(int a,int n)int i;printf(n );for(i=0;in;i+) printf(%d ,ai);return;void mycopy(int a,int b,int n)int i;for(i=0;in;i+) bi=ai;return;int qipao(int a,int n)int i,j,x=0,t;for(i=0;in-1;i+) for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;x+;return x;int xuanze(int a,int n)int i,j,x=0,k,t;for

15、(i=0;in-1;i+) k=i;for(j=i+1;jn;j+)if(ajak)k=j;if(k!=i)t=ai;ai=ak;ak=t;x+;return x;void main()int a10=5,27,10,8,15,7,9,24,3,6,b10,p,q;/int a10=1,2,3,4,5,6,7,10,9,8,b10,p,q; 測試數(shù)據(jù),運(yùn)行驗(yàn)證,看結(jié)果是多少mycopy(a,b,10);printf(nthe source array is: );myprint(a,10);p=qipao(a,10);printf(nqipao the array is: );myprint(

16、a,10);printf(nqipao= %dn ,p);printf(nthe source array is: );myprint(b,10);q=xuanze(b,10);printf(nxuanze array is: );myprint(b,10);printf(nxuanze= %d n,q);遞歸,求兩個(gè)數(shù)的最大公約數(shù)#include int f(int x,int y)int r,p ;if(x*q)t=p;p=q;q=t;if(*p*k)t=p;p=k;k=t;if(*q*k)t=k;k=q;q=t;printf(n%d%d%d n,a,b,c);printf(n%d%d%d

17、 n,*p,*q,*k);讀程序?qū)懡Y(jié)果 (參數(shù)是指針)void f(int *p,int *q,int *k)int * t; /局部變量是指針if(*p*q)t=p;p=q;q=t; /交換的是指針if(*p*k)t=p;p=k;k=t;if(*q*k)t=k;k=q;q=t;printf(n%d%d%d n,*p,*q,*k);/函數(shù)內(nèi)打印 排好序 why?void main()int a=3,b=1,c=2;/int a=3,b=2,c=1;/int a=1,b=2,c=3;int *p,*q,*k,*t;p=&a;q=&b;k=&c;f(p,q,k);printf(n%d%d%d n,a,b,c);printf(n%d%d%d n,*p,*q,*k); / 沒有排序 why?讀程序?qū)懡Y(jié)果#include void f(int *p,int *q,int *k)int t; /局部變量是intif(*p*q)t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論