春C++上机题答案Word格式.docx

上传人:b****6 文档编号:16545629 上传时间:2022-11-24 格式:DOCX 页数:27 大小:18.91KB
下载 相关 举报
春C++上机题答案Word格式.docx_第1页
第1页 / 共27页
春C++上机题答案Word格式.docx_第2页
第2页 / 共27页
春C++上机题答案Word格式.docx_第3页
第3页 / 共27页
春C++上机题答案Word格式.docx_第4页
第4页 / 共27页
春C++上机题答案Word格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

春C++上机题答案Word格式.docx

《春C++上机题答案Word格式.docx》由会员分享,可在线阅读,更多相关《春C++上机题答案Word格式.docx(27页珍藏版)》请在冰豆网上搜索。

春C++上机题答案Word格式.docx

if(x>

1)y=6*x+5;

y;

二、循环结构

1、编程输出n行图形(n值通过键盘输入),

假设n=5,则图形如下:

*

***

*****

*******

*********

iomanip>

{inti,j,n;

n;

for(i=1;

i<

=n;

i++)

{cout<

setw(n-i+1);

for(j=1;

j<

=2*i-1;

j++)

cout<

"

*"

;

endl;

}

2、编程输出n行图形(n值通过键盘输入),

*****

****

**

*

for(i=n;

i>

=1;

i--)

=i;

三、函数循环

1、根据下面对函数的说明,编写其后的函数体。

(1)函数功能:

计算s=1/(1*3)+2/(3*5)+3/(5*7)....n/((2*n-1)*(2*n+1))前n项之和。

doublefun(intn)

{

//答题开始处。

在下面答题,此行不能有任何改动。

inti;

doubles=0;

for(i=1;

s+=1.0*i/((2*i-1)*(2*i+1));

returns;

//答题结束处。

在上面答题,此行不能有任何改动。

2、根据下面对函数的说明,编写其后的函数体。

(1)功能:

求1/2+3/4+5/6+7/8...前n项之和。

{

s+=1.0*(2*i-1)/(2*i);

四、函数数组

逆序存放一维数组元素。

(原1,3,2,4,5->

变为5,4,2,3,1)

voidfun(inta[],intn)

inti,t;

for(i=0;

n/2;

{t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

一个数组中存有n个整数,对这些整数进行升序排序,

inti,j,t;

n-1;

for(j=0;

if(a[j]>

a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

五、模拟题(6套)

第1套模拟题

1、计算分段函数,输入x(整数),输出y(整数):

┌x+10(x<

11)

y=│x+11(x=11)

└x+12(x>

cin>

if(x<

11)y=x+10;

if(x==11)y=x+11;

11)y=x+12;

*****

\n"

return1;

3、根据下面对函数的说明,编写其后的函数体。

函数功能:

一个数组中存有n个整数,统计奇数个数并作为函数值返回。

intfun(inta[],intn)

inti,s=0;

if(a[i]%2)s+=1;

4、根据下面对函数的说明,编写其后的函数体。

计算nxn的二维数组首行和首列。

例如n=4

yyyy

x123

x456

x789

计算后:

15121518

2123

5456

8789

voidfun(int**a,intn)

inti,j,s;

{s=0;

s+=a[i][j];

a[i][0]=s/(n-1);

a[0][j]=s;

5、根据下面对函数的说明,在其后函数体中错误指引处改错。

求出满足3+5+7+……+n<

m时的最大n值。

intfun(intm)

//在下一行内错误发生处改错(本行与下一行之间不能加行)

intss=0,i;

for(i=3;

i+=2)

{

ss+=i;

if(ss>

=m)

returni-2;

6、根据下面对函数的说明,在其后函数体中填空指引处填空。

计算s=5/3+8/5+13/8+21/13+...前n项和。

doublesum=0;

inta,b,c;

//在下一行内下划线处填空(删除下划线,本行与下一行之间不能加行)

a=5;

b=3;

for(inti=1;

sum+=(double)a/b;

c=a+b;

b=a;

a=c;

returnsum;

7、根据下面对函数的说明,用给定内容编写(组合)其后的函数体。

计算s=1+2+3+...n。

intfun(intn)

inti=1,s=0;

loop:

{s+=i++;

if(i<

=n)

gotoloop;

第2套模拟题

计算分段函数,输入x(整数),输出y(整数):

┌x+14(x<

15)

y=│x+15(x=15)

└x+16(x>

15)y=x+14;

if(x==15)y=x+15;

15)y=x+16;

y<

'

*'

一个数组中存有n个整数,求出偶数之和并作为函数值返回。

if(a[i]%2==0)s+=a[i];

returns;

将二维数组转置。

例如n=3

123

456

789

转置后:

147

258

369

voidfun(int**a,intn)

for(j=0;

i;

t=a[i][j],a[i][j]=a[j][i],a[j][i]=t;

计算s=1/2-3/4+5/6-7/8...前n项和。

inti,t=1;

n+n;

s+=1.0*i/(i+1)*t;

t=-t;

计算s=1/(3*3)-1/(5*5)+1/(7*7)-...前n项和。

inti,j;

for(j=3,i=1;

i++,j+=2)

if(i%2)

sum+=1.0/(j*j);

else

sum-=1.0/(j*j);

inti,s;

s=0;

i++)

s+=i;

第3套模拟题

┌x+5(x<

6)

y=│x+6(x=6)

└x+7(x>

6)y=x+5;

if(x==6)y=x+6;

6)y=x+7;

setw(i);

一个数组中存有n个整数,求出下标值为偶数的元素之和并作为函数值返回。

if(i%2==0)s+=a[i];

求二维数组两条对角线上的元素之和。

和是:

25(1+5+9+3+7==25)

intfun(int**a,intn)

s+=a[i][i]+a[i][n-1-i];

if(n%2)s-=a[n/2][n/2];

s+=a[i][i]+a[i][n-1-i];

计算s=2!

+3!

+4!

…前n项和。

intfun(intn)//n>

=1

intp=1,s=0;

for(inti=2;

=n+1;

p*=i;

s+=p;

6、根据下面对函数的说明,用给定内容编写(组合)其后的函数体。

计算s=1!

+2!

+…前n项之和。

intfun(intn)

inti=2,s,p;

p=s=1;

while(i<

=n)

p*=i++,s+=p;

第4套模拟题

*********

*

{cout<

=2*(n-i+1)-1;

计算nxn的二维数组最后行和最后列。

123x

456x

789x

yyyy

1232

4565

7898

12151815

{s=0;

s+=a[i][j];

a[i][n-1]=s/(n-1);

for(i=0;

a[n-1][j]=s;

计算s=1-1/(2*2)+1/(3*3)-…,直到加上(减去)的项1/(n*n)

刚好小于所要求的精度值(jingdu)为止。

doublefun(doublejingdu)

doubles=0,p;

inti=1,t=1;

do

{

p=1.0/(i*i);

s+=p*t;

i++;

}while(p>

=jingdu);

求出满足3+5+7……+n>

m时的最小n值。

intss=0;

for(inti=3;

m)

returni;

求n!

inti=2,p=1;

p*=i++;

returnp;

第5套模拟题

if(x==11)y=x+11;

****

***

**

{for(j=1;

=n-i+1;

if(a[i]%2==0)s+=a[i];

求二维数组靠边元素之和。

例如m=3n=3

40(1+2+3+6+9+8+7+4==40)

intfun(int**a,intm,intn)

inti,j,s=0;

s+=a[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1