C++与数据结构基础简明教程课后习题答案Word格式文档下载.docx
- 文档编号:6402611
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:45
- 大小:22.27KB
C++与数据结构基础简明教程课后习题答案Word格式文档下载.docx
《C++与数据结构基础简明教程课后习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++与数据结构基础简明教程课后习题答案Word格式文档下载.docx(45页珍藏版)》请在冰点文库上搜索。
s<
1-7-4
//将10000秒化成小时分钟秒
inthour,min,second;
hour=10000/3600;
min=(10000%3600)/60;
second=10000-hour*3600-60*min;
hour<
hours"
minutes"
second<
seconds"
1-7-5//将一个三位数倒叙输出
intnum,num_bai,num_shi,num_ge;
请输入一个三位数"
num;
num_bai=num/100;
num_shi=(num-num_bai*100)/10;
num_ge=num-num_bai*100-num_shi*10;
num_ge<
num_shi<
num_bai<
2-3
//简单的输入输出
doubley,n;
pleaseinputanumber\n"
n;
if(n>
0)y=n+1;
if(n<
0)y=n*n;
if(n==0)y=0;
theresultis:
2-4
//输出学生学号和对应的成绩等级
doublefenshu;
intxuehao;
chardengji;
inti;
for(i=1;
i<
=10;
i++)
studentscore\n"
dengji='
A'
B'
C'
D'
onerror:
pleaseinputcin>
fenshu;
if(fenshu>
=90&
&
fenshu<
=100)
=80&
90)
=600&
80)
=0&
60)
if(fenshu<
0)
error"
gotoonerror;
100)
theidis"
thescoreis"
dengji<
2-5
//判断输入字符类别
charzifu;
intascii;
pleaseinputacharacteristic\n"
zifu;
ascii=zifu;
if(ascii>
=48&
ascii<
=57)
数字\n"
gotoend;
=97&
=122)
小写字母\n"
=65&
=90)
大写字母\n"
其他字符"
end:
2-6
//求圆周率的近似值
iomanip>
intxishu=-1;
doubledanshu=1.0;
inti=1;
doublesifenzhipi=0;
do
xishu=xishu*(-1);
danshu=1.0/(2*i-1);
sifenzhipi=sifenzhipi+xishu*danshu;
while(danshu>
=0.000001);
setprecision(15)<
sifenzhipi*4<
2-7
//输出斐波那契数列前40个数,以8*5的格式输出
intb=2;
intfeibo1=0;
intfeibo2=1;
setw(9)<
0'
1'
for(inti=1;
=38;
inta=feibo2;
feibo2=feibo1+feibo2;
feibo1=a;
feibo2;
b=b+1;
if(b%8==0)cout<
2-8
//统计输入的元音字母个数#include<
usingnamespacestd;
charzimu;
inta,e,i,o,u;
a=e=u=i=o=0;
begin:
zimu;
switch(zimu){
case'
a'
:
a++;
break;
case
e'
:
e++;
i'
i++;
o'
o++;
u'
u++;
#'
gotobegin;
a<
endl<
e<
o<
u<
a+e+i+o+u;
2-10
//计算5!
+6!
+7!
inti,j;
intsum=0;
for(i=5;
=7;
intjiecheng=1;
for(j=1;
j<
=i;
j++)jiecheng=jiecheng*j;
sum=sum+jiecheng;
sum;
2-11
//从2开始100个素数
intnum=1;
intsushu=0;
start:
num++;
for(inti=2;
=num;
if(num%i==0)break;
if(i==num)
num<
sushu+=1;
if(sushu!
=100)gotostart;
2-12
//百钱买百鸡问题
intx,y,z;
for(x=0;
x<
=100;
x++)
for(y=0;
y<
y++)
for(z=0;
z<
z++)
if(x+y+z==100&
5*x+3*y+z/3==100&
z%3==0)x<
\t'
2-13
intmain()
inta,b,c,d,e;
c=0;
输入"
该数的三次方是"
个连续奇数"
b=1;
e=a*a*a;
while(c!
=e)
d=b;
for(inti=1;
=a;
c=c+d;
d=d+2;
b=b+2;
//cout<
b-2;
intf=b-4;
for(intj=1;
j++)
f=f+2;
f<
的和\n"
2-14
//输出四方*形状
=9;
j=1;
for(j=1;
*'
10个数的算术平均值
if(i+j>
=6&
i+j<
=14&
j-i<
=4&
i-j<
=4)
elsecout<
3-1-1
//向数组a中输入10个整数,求其中的最大值,最小值和
inta[10];
for(inti=0;
a[i];
intmax=a[0],min=a[0],sum=a[0];
for(intj=0;
sum=sum+a[j];
max=(max>
a[j]?
max:
a[j]);
min=(min<
min:
doubleave=sum/10.00;
max<
ave<
3-1-2
intscore[10];
intsum=0,a=0,b=0;
score[i];
sum=sum+score[i];
doubleave=sum/10.0;
if(score[j]>
ave)a++;
if(score[j]<
60)b++;
成绩大于平均值的人数是"
成绩小于60的人数"
b<
endl;
3-3-1
inta[10],sum=0,min,max;
doubleave;
int*ptoa=a;
for(inti=0;
*(a+i);
sum+=*(a+i);
min=*(a);
max=*(a);
min=(min<
*(a+j)?
*(a+j));
}cout<
ave=sum/10.0;
cout<
3-3-2
//定义数组a,sum是各学生成绩之和,
inta[10],sum=0,j=0,c=0;
j是小于60的个数,c是大于平均值的个数
doubleave=0;
//定义平均值
//使用指针
//输入并算和,统计小于60的
//计算平均值
//可以输出平均值
*(ptoa+i);
sum+=*(ptoa+i);
if(*(ptoa+i)<
j++;
ave=sum/10.0;
if(*(ptoa+k)>
ave)
c++;
j;
3-3-3
charstring[100];
string;
inti=0,an=0,in=0;
您输入的字符串"
while(string[i]!
='
\0'
)
if(string[i]=='
)an++;
)in++;
string[i];
an<
in<
3-3-3a#include<
chara[100];
//定义存放字符串的数组
//an,in分别为a
i的个数
char*ptoa=a;
while
(*(ptoa+i)!
//a【i】
//判断
switch(*(ptoa+i))
an++;
in++;
in;
3-3-4
intmain()inta[3][3];
=2;
*(*(a+i)+j);
*(*(a+0)+0)+*(*(a+1)+1)+*(*(a+2)+2)<
*(*(a+0)+2)+*(*(a+1)+1)+*(*(a+2)+0)<
3-3-5v1
inta[11]={2,4,5,8,12,14,16,18,20,30,0},b,i,m,j;
b;
a[10]=b;
if(b<
2)
m=0;
if(b>
30)
gotoend2;
for(i=0;
if(a[i+1]>
b)
m=i+1;
for(j=10;
j>
=m+1;
j--)
a[j]=a[j-1];
a[m]=b;
end2:
for(intk=0;
k<
k++)
a[k]<
3-3-5v2
inti,j,temp;
inta[11]={2,4,5,8,12,14,16,18,20,30};
a[10];
for(i=0;
{for(j=0;
=10-i-1;
if(a[j]>
a[j+1])
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
k++)cout<
\n'
3-3-5v3
inta[11]={2,4,5,8,12,14,16,18,20,30},num,i,j;
请输入一个整数"
if(num>
a[9])
a[10]=num;
else
=11;
if(a[i]>
num)
for(j=9;
a[i]=num;
a[i]<
3-3-5final
#include<
iostream.h>
voidmain(){
inta[11]={2,4,5,8,12,14,16,18,20,30},b,i=0,j=10;
while(a[i]<
b&
=9)i++;
while(j>
i){
j--;
a[i]=b;
输入插入后的结果:
"
11;
i++)cout<
3-3-6
inta[5][3],s[5]={0,0,0,0,0},temp;
=4;
请输入第"
i+1<
行的数据"
for(intj=0;
*(s+i)+=*(*(a+i)+j);
/*
//注释掉的部分可以输出每行数据之和
*(s+k)<
*/
for(intm=0;
m<
m++)
{for(intn=0;
n<
=4-m-1;
n++)
if(*(s+n)>
*(s+n+1))
{temp=*(s+n+1);
*(s+n+1)=*(s+n);
*(s+n)=temp;
for(intl=0;
l<
l++)
*(s+l);
system("
pause"
);
4-3
int
fun1(int
x,int
y);
fun2(int
fun3(int
fun4(int
inta,b;
输入两个数"
a>
两个数的和的平方是"
fun1(a,b)<
两个数的平方和是"
fun2(a,b)<
两个数的差的平方是"
fun3(a,b)<
两个数平方的差是"
fun4(a,b)<
intfun1(intx,inty)
intz=(x+y)*(x+y);
returnz;
intfun2(intx,inty)
intz=x*x+y*y;
returnz;
intfun3(intx,inty)
intz=(x-y)*(x-y);
intfun4(intx,inty)
intz=x*x-y*y;
4-4
doublejc(intx);
intsm(intx);
intm,n,s2;
doubles1;
m>
s1=jc(m)/(jc(n)*jc(m-n));
s2=sm(m)-sm(n);
s1<
s2;
doublejc(intx)
doubles=1;
s*=i;
s+=i;
=x;
i++)returns;
intsm(intx)
ints=0;
4-6
#inclu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数据结构 基础 简明 教程 课后 习题 答案