同济大学C++前六章所有习题答案.docx

上传人:b****2 文档编号:2629466 上传时间:2023-05-04 格式:DOCX 页数:54 大小:557KB
下载 相关 举报
同济大学C++前六章所有习题答案.docx_第1页
第1页 / 共54页
同济大学C++前六章所有习题答案.docx_第2页
第2页 / 共54页
同济大学C++前六章所有习题答案.docx_第3页
第3页 / 共54页
同济大学C++前六章所有习题答案.docx_第4页
第4页 / 共54页
同济大学C++前六章所有习题答案.docx_第5页
第5页 / 共54页
同济大学C++前六章所有习题答案.docx_第6页
第6页 / 共54页
同济大学C++前六章所有习题答案.docx_第7页
第7页 / 共54页
同济大学C++前六章所有习题答案.docx_第8页
第8页 / 共54页
同济大学C++前六章所有习题答案.docx_第9页
第9页 / 共54页
同济大学C++前六章所有习题答案.docx_第10页
第10页 / 共54页
同济大学C++前六章所有习题答案.docx_第11页
第11页 / 共54页
同济大学C++前六章所有习题答案.docx_第12页
第12页 / 共54页
同济大学C++前六章所有习题答案.docx_第13页
第13页 / 共54页
同济大学C++前六章所有习题答案.docx_第14页
第14页 / 共54页
同济大学C++前六章所有习题答案.docx_第15页
第15页 / 共54页
同济大学C++前六章所有习题答案.docx_第16页
第16页 / 共54页
同济大学C++前六章所有习题答案.docx_第17页
第17页 / 共54页
同济大学C++前六章所有习题答案.docx_第18页
第18页 / 共54页
同济大学C++前六章所有习题答案.docx_第19页
第19页 / 共54页
同济大学C++前六章所有习题答案.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

同济大学C++前六章所有习题答案.docx

《同济大学C++前六章所有习题答案.docx》由会员分享,可在线阅读,更多相关《同济大学C++前六章所有习题答案.docx(54页珍藏版)》请在冰点文库上搜索。

同济大学C++前六章所有习题答案.docx

同济大学C++前六章所有习题答案

实验1.1

#include"iostream.h"

#include"iomanip.h"

voidmain()

{

intx;

cin>>x;

inty;

y=x*x;

cout<<"x*x="<

}

实验1.2

#include"iostream.h"

voidmain()

{

floatx=1,y=2,h=3,s;

s=h*(x+y)/2.0;

cout<<"上底为1,下底为2,高为3的梯形面积为:

"<

}

实验1.3

#include"iostream.h"

voidmain()

{

floatx,y,z,s;

cout<<"请输入三门成绩x,y,z:

"<

cin>>x>>y>>z;

s=(x+y+z)/3;

cout<<"三门课平均成绩为:

"<

}

实验2.1

#include"iostream.h"

#include"iomanip.h"

voidmain()

{

floats1,s2,s3;

doubleaver;

cout<<"输入三个数据:

"<

cin>>s1>>s2>>s3;

aver=(s1+s2+s3)/3;

aver=aver*100+0.5;

aver=(int)aver;

aver=aver/100;

cout<<"平均值="<

}

实验2.2

#include"iostream.h"

#include"math.h"

voidmain()

{

doublex,y,z;

cout<<"请输入直角三角形的两直角边长:

"<

cin>>x>>y;

z=sqrt(x*x+y*y);

cout<<"该直角三角形的斜边长为:

"<

}

实验2.4

#include"iostream.h"

voidmain()

{

doublea,b,c,t,ave;

cout<<"请输入三个数"<

cin>>a>>b>>c;

if(a

t=a;

else

t=b;

if(t

t=t;

else

t=c;

ave=(a+b+c)/3;

cout<<"三个数的平均值为"<

"<

}

实验2.3

#include"iostream.h"

voidmain()

{

doublex,y,r,t;

cout<<"请输入xy"<

cin>>x>>y;

r=x*x+y*y;

if(r<=16&&r>=4)

t=12*3.1415926;

else

t=0;

cout<

}

实验2.5

#include"iostream.h"

voidmain()

{

charc1='f',c2='l',c3='y';

cout<

c1=c1+3;

c2=c2+3;

c3=c3+3;

if(c1>'z')

c1=c1-26;

if(c2>'z')

c2=c2-26;

if(c3>'z')

c3=c3-26;

cout<

}

实验3.1

#include"iostream.h"

voidmain()

{

intx,y;

floatr1,r2;

cin>>x>>y;

if(x==0||y==0)

cout<<"inputerror"<

else

{

if(x>y)

{

r1=x/y;

r2=x%y;

}

else

{

r1=y/x;

r2=y%x;

}

cout<<"商="<

}

}

实验3.2

#include"iostream.h"

voidmain()

{

intx,y;

cout<<"请输入上网时间x:

"<

cin>>x;

if(x>=65)

y=130;

elseif(x>=50)

y=x*2;

elseif(x>=10)

y=x*2.5;

else

y=30;

cout<<"上网费用y为:

"<

}

实验3.3

#include"iostream.h"

voidmain()

{

floatx,y1,y2;

intxp;

cout<<""<

cin>>x;

if(x>=3000)

y1=0.7*x;

elseif(x>=2000)

y1=0.8*x;

elseif(x>=1000)

y1=0.9*x;

else

y1=x;

xp=(int)x/1000

switch(xp)

{

case

}

}

实验3.5

#include"iostream.h"

voidmain()

{

doublex,y,a;

charz;

cout<<"请输入您要计算的式子"<

cin>>x>>z>>y;

if(z==42)

{

a=x*y;

cout<

}

elseif(z==43)

{

a=x+y;

cout<

}

elseif(z==45)

{

a=x-y;

cout<

}

elseif(z==47)

{

a=x/y;

cout<

}

else

cout<<"你输入了非法的运算符。

"<

}

图太多,不截了。

实验3.6

#include"iostream.h"

#include"math.h"

voidmain()

{

inta,b,c;

doublex1,x2;

cout<<"请输入一元二次方程的系数a、b、c:

"<

cin>>a>>b>>c;

if((b*b-4*a*c)>0)

{

x1=(-b+sqrt(b*b-4*a*c))/(2*a);

x2=(-b-sqrt(b*b-4*a*c))/(2*a);

cout<<"方程的解为:

"<<"x1="<

}

elseif((b*b-4*a*c)==0)

{

x1=x2=(-b)/(2*a);

cout<<"方程的解为:

"<<"x1="<

}

else

cout<<"方程无解"<

}

实验4.1

#include"iostream.h"

voidmain()

{

intn,sum(0);

for(n=1;;n+=2)

{

sum=sum+n;

if(n==19)break;

}

cout<<"sum="<

}

实验4.6

#include"iostream.h"

voidmain()

{

inti,j,k;

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

{

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

{

for(k=0;k<=9;k++)

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k&&i*100+j*10+k>100)

cout<

}

}

}

实验4.9

#include"iostream.h"

#include"math.h"

voidmain()

{

doublex1,x0,x;

inta;

cout<<"请输入a:

"<

cin>>a;

x1=a;

do

{

x0=x1;

x1=2/3.0*x0+a/(3.0*x0*x0);

}

while(fabs(x1-x0)>1.0e-5);

cout<<"用迭代法算出a的立方根x为:

"<

x=a;

x=pow(x,1/3.0);

cout<<"用pow(x,1/3)公式算出a的立方根x为:

"<

}

实验4.2

#include"iostream.h"

voidmain()

{

inta,b,c,d,e,f;

cout<<"请输入要逆序的数:

"<

cin>>a;

b=a/1000;

c=a%1000/100;

d=a%100/10;

e=a%10;

if(b==0&&c!

=0)

f=100*e+10*d+c;

elseif(c==0&&d!

=0)

f=10*e+d;

elseif(d==0&&e!

=0)

f=e;

else

f=1000*e+100*d+10*c+b;

if(b>9)

cout<<"你输入的数太大,请重新输入;"<

else

cout<<"所求得的逆序数为:

"<

}

图太多,不截了。

实验4.3

#include"iostream.h"

voidmain()

{

inti;

doubles(0),t

(1);

for(i=0;(1.0/t)>0.0001;i++)

{

t+=i;

s+=(1/t);

}

cout<

}

实验4.4

#include"iostream.h"

voidmain()

{

intn;

doubles=2,a,i;

cout<<"请输入n值:

"<

cin>>n;

for(i=1;i

{

a=((2*i)*(2*i))/((2*i-1)*(2*i+1));

s=s*a;

}cout<

}

实验4.5

#include"iostream.h"

#include"iomanip.h"

voidmain()

{

inti,j;

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

{

cout<

for(j=0;j<2*i-1;j++)cout<

cout<

}

cout<

charc;

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

{

c=i+'A';

cout<

for(j=0;j<2*(9-i);j++)

cout<

cout<

}

}

实验4.7

#include"iostream.h"

voidmain()

{

inti,j,k,t=0;

for(i=1;i<5;i++)

{

for(j=i+1;j<6;j++)

{

for(k=5;k<7;k++)

{

if(j

{

cout<

t++;

}

}

}

}

cout<<"满足条件的方案数为:

"<

}

实验4.8

#include"iostream.h"

#include"stdlib.h"

#include"stdio.h"

#include"time.h"

voidmain()

{

inti,a,n,temp,s=0;

srand((unsigned)time(NULL));

a=rand()%9+1;

n=rand()%6+5;

temp=0;

for(i=1;i<=n;i++)

{

temp=temp*10+a;

s+=temp;

}

cout<

}

不要问我为什么这么写随机函数,我也不知道为什么,我是上网找了一个很高级很高级的产生随机函数的方法,然后套进来的。

实验5.1

#include"iostream.h"

#include"stdlib.h"

voidmain()

{

inta[10],i,min,max;

doubleave=0;

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

a[i]=int(rand()%71+30);

for(i=1,min=a[0];i<10;i++)

if(min>a[i])min=a[i];

for(i=1,max=a[0];i<10;i++)

if(max

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

{

cout<

ave+=a[i];

}

ave=ave/10;

cout<<"最大值为:

"<

"<

"<

}

实验5.8

#include"iostream.h"

#include"string.h"

#include"stdio.h"

voidmain()

{

chara[80],b[80];

inti;

gets(a);

for(i=0;*(a+i)!

='\0';i++)

{

if(a[i]<='z'&&a[i]>='a')

b[i]=a[i]-32;

else

b[i]=a[i];

}

b[i]='\0';

for(i=0;*(b+i)!

='\0';i++)

cout<

cout<

cout<<"用strupr函数求得:

"<

}

实验5.2

#include"iostream.h"

#include"stdlib.h"

#include"stdio.h"

#include"time.h"

voidmain()

{

inti,j,t,s[20];

srand((unsigned)time(NULL));

for(i=0;i<20;i++)s[i]=rand()%100+1;

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

{

t=s[i];

for(j=i+1;j<20;j++)

{

if(s[j]>t)

{

s[i]=s[j];

s[j]=t;

t=s[i];

}

}

}

for(i=0;i<20;i++)cout<

}

实验5.3

#include"iostream.h"

#include"stdlib.h"

#include"stdio.h"

#include"time.h"

voidmain()

{

inti,s1[10],s2[10],m;

srand((unsigned)time(NULL));

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

s1[i]=rand()%100+1;

cout<<"移动前数据"<

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

cout<

cout<

cin>>m;

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

{

if(i+m<10)

s2[i+m]=s1[i];

else

s2[i+m-10]=s1[i];

}

cout<<"右移"<

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

cout<

cout<

}

实验5.4

这是我迄今为止做过的最麻烦的一道题

#include"iostream.h"

#include"stdlib.h"

#include"stdio.h"

#include"time.h"

#include"iomanip.h"

voidmain()

{

//建立A、B矩阵:

inti,j,k,s1[4][4],s2[4][4],s3[4][4],s4[4][4],s5[4][4],t[3];

srand((unsigned)time(NULL));

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

{

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

{

s1[i][j]=rand()%41+30;

}

}

cout<<"矩阵A为:

"<

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

{

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

{

cout<

}

cout<

}

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

{

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

{

s2[i][j]=rand()%35+101;

}

}

cout<

"<

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

{

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

{

cout<

}

cout<

}

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

{

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

{

s3[i][j]=s1[i][j]+s2[i][j];

}

}

//拷贝一下矩阵A,方便做第四问:

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

{

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

{

s4[i][j]=s1[i][j];

s5[i][j]=s1[i][j];

}

}

//第一问:

cout<

"<

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

{

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

{

cout<

}

cout<

}

//第二问:

t[0]=s3[0][0];

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

{

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

{

if(s3[i][j]>t[0])

{

t[1]=i;

t[2]=j;

t[0]=s3[i][j];

}

}

}

cout<

"<

//第三问之A的下三角:

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

{

for(j=i+1;j<4;j++)

{

for(k=0;k<4;k++)

{

s1[j][k]=s1[j][k]-s1[i][k]/s1[i][i]*s1[j][i];

}

}

}

cout<

"<

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

{

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

{

cout<

}

cout<

}

//第三问之B的上三角:

for(i=3;i>0;i--)

{

for(j=i-1;j>=0;j--)

{

for(k=0;k<4;k++)

{

s2[j][k]=s2[j][k]-s2[i][k]/s2[i][i]*s2[j][i];

}

}

}

cout<

"<

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

{

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

{

cout<

}

cout<

}

//第四问:

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

{

t[0]=s4[0][i];

s4[0][i]=s4[2][i];

s4[2][i]=t[0];

}

cout<

"<

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

{

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

{

cout<

}

cout<

}

//第五问:

t[1]=0;

t[2]=0;

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

{

t[1]+=s5[i][i];

t[2]+=s5[3-i][3-i];

}

t[0]=t[1]+t[2];

cout<

"<

}

实验5.5

#include"iostream.h"

#include"iomanip.h"

voidmain()

{

intn,i,j,a[10][10];

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

{

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

{

a[i][j]=1;

}

}

cout<<"输入行数n:

";

cin>>n;

for(i=2;i

{

for(j=1;j

{

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

}

}

for(i=0;i

{

for(j=0;j

{

cout<

}

cout<

}

for(i=0;i

{

for(j=0;j

{

cout<<"";

}

for(j=0;j

{

cout<

}

cout<

}

}

实验5.6

#include"iostream.h"

#include"string.h"

voidmain()

{

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2