函數(shù)練習(xí)題及答案_第1頁
函數(shù)練習(xí)題及答案_第2頁
函數(shù)練習(xí)題及答案_第3頁
函數(shù)練習(xí)題及答案_第4頁
函數(shù)練習(xí)題及答案_第5頁
免費預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

1、單項選擇=題號:2914函數(shù)定義時的參數(shù)為形參,調(diào)用函數(shù)時所用的參數(shù)為實參,則下列描述正確的是().A、實參與形參是雙向傳遞B、形參和實參可以同名C、實參類型一定要在調(diào)用時指定D、形參可以是表達(dá)式答案:B題號:4060以下程序的輸出結(jié)果是main()int k=4,m=1,p;p=fun c(k,m);printf(%d,p);p=fun c(k,m);printf(%dn,p);fun c(int a,int b)static int m,i=2;i+=m+1;m=i+a+b;return(m);A、8,20B、8,16C、8,17D、8,8答案:C題號:2491請閱讀以下程序: #incl

2、ude#includevoid fun(int b) static int i=0; do bi+=bi+1; while(+i2);main()int k,a5=1,3,5,4,9; fun(a); for(k=0;k5;k+)printf(%d,ak); 上面程序的輸出是(). A、48579B、48549C、48999D、13579答案:B題號:2643有以下程序:#includevoid fun(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main()int k10=1,2,3,4,5,6,7,8,9,10,i

3、;fun(k,5);for(i=2;i8;i+)printf(%d,ki);printf(n);程序的運行結(jié)果是().A、876543B、321678C、1098765D、345678答案:B程序設(shè)計=題號:5340/*-【程序設(shè)計】-題目: 給定n個數(shù)據(jù), 求最小值出現(xiàn)的位置 (如果最小值出現(xiàn)多次,求出第一次出 現(xiàn)的位置即可)。-注意:部分源程序給出如下。請勿改動主函數(shù) main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù) station的花括號中填入所編寫的若干語句。*Begin*和* End *不可刪除-*/#include stdio.hint station(int s,int n)/*Begi

4、n*/* End */ main() int a100,n,i,t; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); t=station(a,n); printf(the min_value position is:%dn,t); TestFunc(); TestFunc()FILE *IN,*OUT;int n;int i10;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read File Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Err

5、or);for(n=0;n10;n+) fscanf(IN,%d,&in);o=station(i,10);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);示例代碼:int i,k; k=0; for(i=1;in;i+) if(sisk) k=i; return(k);題號:5371/*-【程序設(shè)計】-功能:求小于形參n同時能被3與7整除的所有自然數(shù)之和的平方根,并作為函數(shù)值返回。例如若n為1000時,程序輸出應(yīng)為:s=153.909064。*Begin*和* End *不可刪除-*/void TestFunc(); #include #include d

6、ouble fun( int n) /*Begin*/ /* End */main() printf(s=%lfn,fun(1000); TestFunc();void TestFunc() FILE *IN,*OUT; int i; double s; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); fscanf(IN,%d,&i); s=fun(i); fprintf(OUT,%lf,s); fclose

7、(IN); fclose(OUT);示例代碼:int i; double s=0; for(i=1;i= 2 & _) /*FILL*/ if (k%13 = 0 | _) m=m+k; mc+; k-; /*FILL*/ _;main ( ) printf(%dn, fun (500);答案:位置 1:int k位置 2:mc mc 【或】 mc = mc位置 3:k%17 = 0 【或】 !(k%17) 【或】 k/17*17=k位置 4:return m 【或】 return (m)題號:546/* 給定程序中,函數(shù)fun的功能是: 將NN矩陣中元素的值按列右移1個位置,右邊被移出矩陣的

8、元素繞回左邊。 例如,N=3,有下列矩陣 1 2 3 4 5 6 7 8 9 計算結(jié)果為 3 1 2 6 4 5 9 7 8 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。 注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)! */#include #define N 4void fun(int (*t)N)int i, j, x;/*FILL*/ for(i=0; i=1; j-) tij=tij-1;/*FILL*/ ti_3_=x; main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42, 21,33,10, i, j; p

9、rintf(The original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); 答案:位置 1:N位置 2:N-1位置 3:0題號:543/* 給定程序中,函數(shù)fun的功能是: 將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來從高位到低位相反的順序組成一個新的數(shù),并作為函數(shù)值返回。 例如,輸入一個整數(shù):27

10、638496,函數(shù)返回值為:64862。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。 注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)! */#include unsigned long fun(unsigned long n)unsigned long x=0; int t; while(n) t=n%10;/*FILL*/ if(t%2=_1_)/*FILL*/ x=_2_+t;/*FILL*/ n=_3_; return x;main()unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100

11、000000): ); scanf(%ld,&n); printf(nThe result is: %ldn,fun(n);答案:位置 1:0位置 2:10*x位置 3:n/10程序改錯=題號:708/* 給定程序中函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。 例如,給主函數(shù)中的變量x1、x2、x3分別輸入15 11 2,則輸出結(jié)果應(yīng)當(dāng)是:330。 請改正程序中的錯誤,使它能得出正確結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 */#include /*ERROR*/fun(int x, y, z)int j,t ,n ,m; j = 1 ; t=j%x; m=j%

12、y ; n=j%z; while(t!=0|m!=0|n!=0) j = j+1; t=j%x; m=j%y; n=j%z; /*ERROR*/ return i;main()int x1,x2,x3,j ; printf(Input x1 x2 x3: ); scanf(%d%d%d, &x1,&x2,&x3); printf(x1=%d, x2=%d, x3=%d n,x1,x2,x3); j=fun(x1,x2,x3); printf(The minimal common multiple is : %dn,j);答案:位置 1:int fun(int x, int y, int z)位

13、置 2:return j;題號:693/* 給定程序中函數(shù)fun的功能是: 用選擇法對數(shù)組中的n個元素按從小到大的順序進行排序。 請修改程序中的錯誤,使它能得出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行和刪行,也不得更改程序的結(jié)構(gòu)! */#include #define N 20void fun(int a, int n)int i, j, t, p; for (j = 0 ;j n-1 ;j+) /*ERROR*/ p = j for (i = j;i n; i+) if(ai ap)/*ERROR*/ p = j; t = ap ; ap = aj ; aj = t; main()

14、 int aN=9,6,8,3,-1,i, m = 5; printf(排序前的數(shù)據(jù):); for(i = 0;i m;i+) printf(%d ,ai); printf(n); fun(a,m); printf(排序后的數(shù)據(jù):); for(i = 0;i m;i+) printf(%d ,ai); printf(n);答案:位置 1:p=j;位置 2:p=i;題號:692/* 給定程序中函數(shù)fun的功能是:計算n!。 例如,給n輸入5,則輸出120.000000。 請改正程序中的錯誤,使程序能輸出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)! */#include double fun (int n)double

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論