2016下半年計算機C語言二級上級考試試題

計算機二級C語言考試就要到了,下面yjbys小編爲大家分享的是最新的計算機二級C語言考試題及答案,希望對大家有所幫助!

2016下半年計算機C語言二級上級考試試題

1.程序填空題:

請補充main函數,該函數的功能是:計算每個學生成績的平均分,並把結果保存在數組bb中。

例如,當score[N][M]={{83.5,82,86,65,67},{80,?91.5?,84,99,95},{90.5,95,86,95,97}}時,三個學生的平均分爲76.7,89.9,92.7。

注意:部分源程序給出如下。

請勿改動main函數和其他函數中的任何內容,僅在main函數的橫線上填入所編寫的若干表達式或語句。

試題程序:

#include

#define N 3

#define M 5

void main()

{

int I,j;

static float score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}};

float bb[N];

system("CLS");

for(I=0;I

【1】;

for(I=0;I

{

for(j=0;j

【2】;

bb[I]/=M;

}

for(I=0;I

printf("nstudent%dtaverage=%5.1f",I+1,bb[I]);

}

2.程序改錯題:

下列給定程序中,函數fun的功能是:判斷一個整數m是否是素數,若是返回1,否則返回0。在main函數中,若fun()返回1則輸出"YES",若fun()返回0則輸出"NO!"。

請改正程序中的'錯誤,使它能得出正確的結果。

注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

#include

#include

#include

int fun(int m)

{ int k=2;

while (k<=m&&(m%k))

k++

if(m=k)

return 1;

else return 0;

}

void main()

{ int n;

system("CLS");

printf("nPlease enter n: ");

scanf("%d",&n);

if(fun(n)) printf("YESn");

else printf("NO!n");

}

3.程序設計題:

編寫函數fun,它的功能是:根據以下公式求p的值,結果由函數值帶回。m與n爲兩個正數且要求m>n。P=m!/(n!(m-n)!),例如,m=12,n=8時,運行結果爲495.000000。

注意:部分源程序給出如下。

請勿改動main函數和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include

#include

#include

float fun (int m, int n)

{

}

void main ()

{

FILE *wf;

system("CLS");

printf ("p=%fn",fun (12,8) ) ;

wf=fopen("","w");

fprintf (wf,"%f",fun(12,8));

fclose(wf);

}

【參考答案】:1.程序填空題:(1) bb[i]=0 (2) bb[i]+=score[i][j]

2.程序改錯題:(1)錯誤:k++ 正確:k++;

(2)錯誤:if(m=k) 正確:if(m==k)

3.程序設計題:float fun (int m, int n)

{

int i;

double p=1.0;

for(i=1;i<=m;i++)

p=p*i;

for(i=1;i<=n;i++)

p=p/i;

for(i=1;i<=m-n;i++)

p=p/i;

return p;

}