![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
全國等考二級C語言2009上機(jī)模擬2 |
一、填空題 請補充fun函數(shù),該函數(shù)的功能是:判斷一個年份是否為閏年。 例如,2007年不是閏年,2008是閏年。 請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫所需的若干表達(dá)式或語句。 注意:部分源程序給出如下。 # include # include int fun(int n) { int flag=0; if(n%4==0) if(___1___) flag=1; if(___2___) flag=1; return ___3___; } main() { int year; printf("Input the year:"); scanf("%d",&year); if(fun(year)) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year); } 二、改錯題 下列給定程序中,fun函數(shù)的功能是:根據(jù)形參n,計算如下公式的值。 s=1+1/2+1/3+...+1/n 例如,若輸入5,則應(yīng)輸出2.28333。 請修改程序中的錯誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能計算出正確的結(jié)果。 注意:不要改動main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。 # include # include double fun(int n) { double s=1.0; int i; /******error**********/ for(i=2;i<=n;i++) s+=1.0/k; /******error**********/ ___填 空___ } main() { int n; printf("\nplease enter 1 integer numbers:\n"); scanf("%d",&n); printf("\n\nthe result is %lf\n",fun(n)); } 三、編程題 請編寫函數(shù)fun,它的功能是:求出1到500之內(nèi)能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將它們放在b所指的數(shù)組中,通過m返回這些數(shù)的個數(shù)。 請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。 注意:部分源程序給出如下。 # include # include void fun(int *b,int *m) { } main() { int a[500],m,i; FILE *out; fun(a,&m); out=fopen("outfile.dat","w"); for(i=0;i { printf("]\n",a[i]); fprintf(out,"d\n",a[i]); } else { printf("],",a[i]); fprintf(out,"%d,",a[i]); } fclose(out); } |