2016年計(jì)算機(jī)二級(jí)考試C++模擬試題及答案
1 請(qǐng)編寫函數(shù)fun,其功能時(shí):計(jì)算并輸出當(dāng)x<0.97時(shí)下列多項(xiàng)式的值,直到|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 請(qǐng)編寫一個(gè)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)ab合并形成一個(gè)整數(shù)放在c中。合并方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上。
【參考答案】
void fun(int a,int b,long *c)
{*c=(b)*1000+(a)*100+(b/10)*10+a/10;}
3請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中ascii值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。
【參考答案】
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已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:找出成績(jī)最低的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個(gè)最低分)。
【參考答案】
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的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:使數(shù)組左下半三角元素中的值乘以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請(qǐng)編寫函數(shù)fun,其功能使:將兩個(gè)兩位正整數(shù)a b合并形成一個(gè)整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
【參考答案】
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b)*10+a;}
7請(qǐng)編寫一個(gè)函數(shù)fun,它的功能使:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。
【參考答案】
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
8假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能使:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。
【參考答案】
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請(qǐng)編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。
【參考答案】
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a)*100+(b)*10+a/10;}
10 n名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。
【參考答案】
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
【計(jì)算機(jī)二級(jí)考試C++模擬試題及答案】相關(guān)文章:
計(jì)算機(jī)二級(jí)C++模擬試題及答案01-23
計(jì)算機(jī)二級(jí)考試C++試題及答案04-01
2016計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及答案07-16
計(jì)算機(jī)二級(jí)C++考試試題及答案03-29
2016年計(jì)算機(jī)二級(jí)《C++》模擬試題及答案06-11
2016年計(jì)算機(jī)二級(jí)C++上機(jī)考試模擬試題及答案05-22
計(jì)算機(jī)二級(jí)c++試題及答案12-24