- 相關推薦
2016年計算機二級考試C++模擬試題及答案
1 請編寫函數fun,其功能時:計算并輸出當x<0.97時下列多項式的值,直到|sn-s(n-1)|<0.000001為止。
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)
【參考答案】
.double 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;}
【計算機二級考試C++模擬試題及答案】相關文章:
計算機二級C++模擬試題及答案09-22
全國計算機二級考試C++精選試題及答案08-17
計算機二級JAVA考試模擬試題及答案10-16
全國計算機二級考試C++鞏固試題與答案10-03