當前位置:才華齋>計算機>計算機二級>

2016年計算機二級考試C++模擬試題及答案

計算機二級 閱讀(2.66W)

1 請編寫函式fun,其功能時:計算並輸出當x<0.97時下列多項式的值,直到|sn-s(n-1)|<0.000001為止。

2016年計算機二級考試C++模擬試題及答案

Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)

【參考答案】

le fun(double x)

{double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;

int n=1;

do

{s0=s1;

sum+=s0;

t*=n;

p*=(0.5-n+1)*x;

s1=p/t;

n++;}while(fabs(s1-s0)>1e-6);

return sum;}

2 請編寫一個函式fun,其功能是:將兩個兩位數的正整數ab合併形成一個整數放在c中。合併方式是:將a數的十位和個位數依次放在c數的個位和百位上,b數的十位和個位數依次放在c數的十位和千位上。

【參考答案】

void fun(int a,int b,long *c)

{*c=(b)*1000+(a)*100+(b/10)*10+a/10;}

3請編寫函式fun,其功能是:將s所指字串中ascii值為偶數的字元刪除,串中剩餘字元形成一個新串放在t所指的陣列中。

【參考答案】

void fun(char *s,char t[])

{int i,j=0,n=strlen(s);

for(i=0;i

if (s%2!=0)

{t[j]=s;

j++;}

t[j]=‘’;}

4已知學生的記錄由學號和學習成績構成,n名學生的資料已存入a結構體陣列中。請編寫函式fun,該函式的功能是:找出成績最低的學生記錄,通過形參返回主函式(規定只有一個最低分)。

【參考答案】

void fun(stu a[],stu *s)

{int i,min;

min=a[0].s;

for(i=0;i

if(a.s

{min=a.s;

*s=a;}}

5程式定義了n×n的二維陣列,並在主函式中自動賦值。請編寫函式fun,該函式的.功能是:使陣列左下半三角元素中的值乘以n。

【參考答案】

fun(int a[][n],int n)

{int i,j;

for(i=0;i

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

a[j]=a[j]*n;}

6請編寫函式fun,其功能使:將兩個兩位正整數a b合併形成一個整數放在c中。合併的方式使:將a數的十位和個位數依次放在c數的百位和個位上,b數的十位和個位數依次放在c數的千位和十位上。

【參考答案】

void fun(int a,int b,long *c)

{*c=(b/10)*1000+(a/10)*100+(b)*10+a;}

7請編寫一個函式fun,它的功能使:計算n門課程的平均分,計算結果作為函式值返回。

【參考答案】

float fun(float *a,int n)

{float ave=0.0;

int i;

for(i=0;i

ave+=a;

ave/=n;

return ave;}

8假定輸入的字串中只包含字母和*號。請編寫函式fun,它的功能使:將字串尾部的*號全部刪除,前面和中間的*號不刪除。

【參考答案】

void fun(char *a)

{int i=0;

char *p,*q;

p=q=a;

while(*p)

p++;

p--;

while(*p==‘*’)

p--;

while(q<=p)

{a=*q;

i++;

q++;}

a=‘’;}

9請編寫函式fun,其功能是:將兩個兩位數的正整數a b合併形成一個整數放在c中,合併的方式是:將a數的十位和個位數依次放在c的個位和百位上,b數的十位和個位數依次放在c數的千位和十位上。

【參考答案】

void fun(int a,int b,long *c)

{c=(b/10)*1000+(a)*100+(b)*10+a/10;}

10 n名學生的成績已在主函式中放入一個帶頭節點的連結串列結構中,h指向連結串列的頭節點。請編寫函式fun,它的功能是:求出平均分,由函式值返回。

【參考答案】

double fun(strec *h)

{double aver=0.0;

while(h!=null)

{aver+=h->s;

hy=h->next;}

aver/=n;

return aver;}