糯米文學吧

位置:首頁 > 計算機 > 計算機二級

計算機二級C語言上機模擬題

導語:為方便考生快捷的瞭解計算機等級考試情況,以下是小編為大家精心整理的計算機二級C語言上機模擬題,歡迎大家參考!

計算機二級C語言上機模擬題

函數fun的功能是:計算的前n項。若x=2.5,函數值為:12.182340。請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。

注意:源程序存放在考生文件夾下的'BLANK1.C中。

不得增行或刪行,也不得更改程序的結構!

給定源程序:

#include

doublefun(doublex,intn)

{doublef,t;inti;

f=1.0;

t=___1___;

for(i=___2___;i {

t*=x/___3___;

f+=t;

}

returnf;

}

main()

{doublex,y;

x=2.5;

y=fun(x,12);

printf("Theresultis:");

printf("x=%-12.6fy=%-12.6f",x,y);

解題思路:

第一處:t是處理公式中每一項中間項,所以應填:1。

第二處:根據公式可知,for循環變量的初始值應從1開始。

第三處:每做一次循環均要除以變量i的值,所以應填:i。

***************************************************

給定程序MODI1.C中函數fun的功能是:找出100至n(不大於1000)之間三位數字相等的所有整數,把這些整數放在s所指數組中,個數作為函數值返回。

請改正函數fun中指定部位的錯誤,使它能得出正確的結果。

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

給定源程序:

#include

#defineN100

intfun(int*s,intn)

{inti,j,k,a,b,c;

j=0;

for(i=100;i k=n;

a=k;k/=10;

b=k;k/=10;

c=k

if(a==b&&a==c)s[j++]=i;

}

returnj;

}

main()

{inta[N],n,num=0,i;

do

{printf("Entern(<=1000):");scanf("%d",&n);}

while(n>1000);

num=fun(a,n);

printf("Theresult:");

for(i=0;i printf("");

}

解題思路:

第一處:k應該取循環變量i的值,所以應改為:k=i;。

第二處:語句後缺少分號。

***************************************************

請編寫函數fun,其功能是:計算並輸出給定10個數的方差:

例如,給定的10個數為95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、

90.0、56.0,輸出為s=11.730729。

注意:部分源程序在文件PROG1.C中。

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入

你編寫的若干語句。

給定源程序:

#include

#include

doublefun(doublex[10])

{

}

main()

{doubles,x[10]={95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0};

inti;

printf("Theoriginaldatais:");

for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("");

s=fun(x);

printf("s=%f",s);

NONO();

}

解題思路:

本題是根據公式進行計算。

參考答案

doublefun(doublex[10])

{

inti;

doubleavg=0.0,sum=0.0,abs=0.0,fc;

for(i=0;i<10;i++)sum+=x[i];

avg=sum/10;/*計算平均值*/

for(i=0;i<10;i++)

abs+=(x[i]-avg)*(x[i]-avg);

fc=sqrt(abs/10);

returnfc;

}