版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习题L练习题Z练习题3练习题4练习题5练习题£练习题2
练习题8练习题9练习题10练习题11练习题12练习题13
第一章练习题P.9
1_1
答:(1)正确性(2)可读性和可理解性好(3)可维护性好(4)构思好、简短、执行速度
快。
1_2
答:(1)封装性(2)继承和派生性(3)重载性(4)多态性。
1_3
答:(1)输入源程序,得到.cpp文件(2)编译,得到.obj文件(3)构件(连接),得到.exe
文件(4)执行,运行.exe文件
1_4
略
1_5
答:(1)/*注解信息*/,运用于程序的任何地方;(2)//注解信息,运用于行尾。
1_6
答:(1)分析问题,描述算法(2)编写程序,得到源程序(3)编译源程序,产生目标文件
(4)构件(连接),得到可执行文件(5)调试程序。
f返回1
第二章练习题P.30
2_1
不合法的有:1.25e3.4(指数必须为整数)、’\96\45‘内只能有一个字符)
合法的有:32767(整型)、35u(无符号整型)、3L(长整型)、0.0086e-32(实型)、\87,
(字符型)、“ComputerSystem"(字符串)、“a”(字符串)、一(字符型)、-0(整型)、+0
(整型)、.5(实型)、-.567(实型)
2_2
定义:以英文字母、下划线开始的,山字母、下划线和数字组成的字符序列。
合法的有:abc、English,Else(C++区分大小写,else非法)、China_bb、b3y、AbsFloat
不合法的有:2xy(不能以数字开头)、x-y(含非法字符if(关键字不能做标识符)、
b(3)(含非法字符“(”和“)")、‘def'(含非法字符float(关键字不能做标识符)。
2_3
(1)b=l(2)1(3)c=102(4)b=8(5)d=40(6)c=6
2_4
-12E-5=-0.000121.25E-5=0.0000125,01E+3=10
50E-6=0.0000512.345E4=123450
2_5
字符:‘a'、'\0x33‘、'\r'、'N
字符串:"a"、"中国"、"8.24"、"\n\t\0x34"、”\Ox33”
其它:'0x66'、China、56.34、’8.34'
2_6
(1)x不正确,在同一个作用域内(相同的范围内)变量不能重复定义;
(2)cl不正确,在同一个作用域内(相同的范围内)变量不能重复定义。
2_7
(1)sin(x)/(x-y)(2)sqrt(s*(s-a)*(s-b)*(s-c))
(3)(a+b)*(m+n)(4)(x+y)/(x-y)
2_8
合法的赋值表达式有:A=b=4.5+7.8、x=(y=4.5)=45>e=x>y
不合法的赋值表达式有:c=3.5+4.5=x=y=7.96(式中试图把值赋给常量)
2_9
(1)13(2)25(实型)(3)17(4)120(整型)
2_10
(1)0(2)1(3)1(4)1
2_11
(1)a=1764,b=7(2)a=6»b=l,c=l(3)a=7,b=7,c=d=15
(4)a=91,b=49(5)a=19,b=13,c=19(6)a=6,b=7,c=15,d=15
2_12
(l)a=18(2)b=19(3)c=20(4)d=18
2_13
(l)y=14(2)x=5,y=5,z=13(3)x=40,y=1600(4)x=13,y=5,z=13
2_14
(1)x=1,a=15,b=18>c=21(2)y=0,a=15,b=18,c=21
(3)x=l»a=15,b=18,c=22(4)y=l,a=15,b=18,c=21
2_15
(l)x=7(实型),a=7(整型)(2)x=7.873,a=7(整型)
(3)x=7(实型7y=7.873,a=7(整型)(4)x=7.5,a=25(整型),b=7(整型)
「返回1
第三章练习题P.37
3_1
cH,c2=H,c3=°,
3_2
10099
a
3_3
cl='a',c2='b',c3='c'
3_4
29183123
3_5
256400100
3_6
3333
f返回1
第四章练习题P.60
4_1
C++语句分为:说明语句、控制语句、函数调用语句、表达式语句、空语句和复合语句(也
称块语句)六类。C++的基本程序结构分为:顺序结构、选择结构和循环结构三种。
4_2
#include<iostream.h>
voidmain()
{inta,b,c;
cin»a»b;
a>b?(c=a):(c=b);
coutvv”大数为:^'«c«^n^;
)
4_3
#include<iostream.h>
voidmain(void)
{floatx,y;
cin»x;
if(x<=2.5)y=1.5*x+7.5;
elsey=9.32*x-34.2;
cout«Hx="«x«,\t,«"y=n«y«endl;
}
4_4
#include<iostream.h>
voidmain(void)
{floatx,y;
cin»x»y;
cout«,,x=,,«x«,\t'«',y=',«y«endl;
if(x>y)cout«"x-y="«x-y«endl;
elsecout«ny-x="«y-x«endl;
}
4_5
#include<iostream.h>
#include<math.h>
voidmain(void)
{floata,b,c,delta;
coutvv"输入三个系数:";
cin»a»b»c;
cout«,'a=u«a«At"«"b=',«b«,\t,«nc="«c«,\n,;
delta=b*b-4*a*c;
if(delta<0)cout«"Nosolutions!”"。';
else{
delta=sqrt(delta);
cout«"方程的根为:\n";
cout«Hx1="«(-b+delta)/2/a«'\t';
cout«nx2="«(-b-delta)/2/a«'\n';
}
)
4_6
⑴用条件语句实现
#include<iostream.h>
voidmain()
{floats;
while(l){
cout«"请输入百分制成绩:";
cin»s;
if(svO)break;〃当负分时退出
elseif(s>=90)cout«”五分制成绩为A\nH;
elseif(s>=80)cout<<”五分制成绩为B\n";
elseif(s>=70)coutvv”五分制成绩为C\n";
elseif(s>=60)cout<<”五分制成绩为D\n”;
elsecouKv”五分制成绩为E\nu;
)
)
⑵用开关语句实现
#include<iostream.h>
voidmain()
{floats;
while(l){
coutvv”请输入百分制成绩:”;
cin»s;
if(s<O)break;
switch((int)s/10){
case10:
case9:cout«"五分制成绩为A\n";break;
case8:cout<<”五分制成绩为B\n";break;
case7:cout«"五分制成绩为C\n";break;
case6:cout«”五分制成绩为D\n";break;
default:cout<<"五分制成绩为E\nM;break;
)
)
}
4_7
#include<iostream.h>
voidmain(void)
{floata,sum=0;
for(inti=l;i<=10;i-H-){
cin»a;
sum+=a;
)
cout«',sum=,'«sum«'\t'«"average="«sum/10«endl;
)
4_8
#include<iostream.h>
voidmain(void)
{intn;
floatx=l,y=0;
cin»n;
cout<v"n="<vnv<At';
for(inti=l;i<=n;i++){
x*=i;
y+=x;
)
cout«',y=',«y«endl;
)
4_9
#include<iostream.h>
voidmain(void)
{inti,k,j,m,n=0;
for(i=100;i<=999;i++){
m=0;k=i;
while(k){
j=k%10;
m+=j*j*j;
U=10;
)
if(m==i)cout«i«^';
)
cout«'\n';
)
4_10
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
voidmain(void)
{inti,j,k=O,l;
for(i=101;i<200;i+=2){
j=sqrt(i);
for(l=2;l<=j;l++)
if(i%l==O)break;
if(l>=j+l){
cout«setw(6)«i;
k++;
if(k%5==0)cout«,\n,;
)
)
cout<v'\n';
)
4_11
#include<iostream.h>
#include<iomanip.h>
voidmain(void)
{for(inti=0;i<3;i++){
for(intk=l;k<=4;k++)
cout«"*
cout«\n,;
cout«setw(i*2+2)«n
)
)
4_12
#include<iostream.h>
voidmain(void)
{intn,y0,yl,y2,y3,k;
for(n=0;n<=3;n++){
switch(n){
case0:y0=0;cout«y0«,\t';break;
casel:yl=l;cout«y1«'\t';break;
case2:y2=2;cout«y2«,\t';break;
default:for(k=3;n<=20;n++){
y3=y0+yl+y2;
cout«y3«,\t';
yO=yl;yl=y2;y2=y3;
k++;
if(k%4==0)cout«,\n,;
)
)
)
cout<v'\n';
)
4_13
#include<iostream.h>
voidmain(void)
{intn,sum=0;
coutvv”输入一个四位数:“;
cin»n;
cout«,,n=,'«n«,\n,;
cout«”各位数字之和是:“;
for(inti=l;i<=4;i++){
sum+=n%10;
n/=10;
cout«sum«\n,;
414
voidmain(void)
{intcount1=0,count2=0;
floatn,sum1=0,sum2=0;
coutvv”输入实数,以0结束!\n”;
while(l){
cin»n;
if(n==O)break;
if(n>0){count1+=1;sum1+=n;}
else{count2+=l;sum2+=n;}
)
cout«”正数的个数为:“vvcounllv<、k<"正数之和是:Nvsumlvv'n';
coutvv”负数的个数为:"vvcount2v<、t'v<”负数之和是:“<<sum2«'\n';
coutvv"总的平均值:“<v(sum1+sum2)/(counl1+count2)vvendl;
}
4_15
#include<iostream.h>
voidmain(void)
{intn,num;
coutvv"输入一个四位数:";
cin»n;
cout«,'n="<<n«,\n';
cout«”反序的各位数字分别是:
for(inti=l;i<=4;i++){
num=n%10;
cout«num;
n/=10;
)
cout<v'\n';
)
4_16
#include<iostream.h>
voidmain(void)
{intn,s=0;
for(n=I;;n++){
s+=n;
if(s>=600)break;
)
cout«"n=,,«n«,\t,«,,s="«s«endl;
}
4_17
#include<iostream.h>
voidmain(void)
{floatpi=l;
for(intn=l;n<=1000;n++)
pi*=(n*2.0)/(2*n・1)*(n*2.0)/(2*n+1);
cout«Mpi/2=u«pi«endl;
)
4_18
#include<iostream.h>
voidmain(void)
{inti,j,k=O;
for(i=l;i<=599;i++){
if(i%3==0){
j=i;
while(j){
if(j%10==5){
cout«i«^';
k++;
if(k%8==0)cout«,\n,;
break;
)
j/=10;
cout«,\n,;
}
算法2
inti,j,k=O;
for(i=3;i<=599;i=i+3)
(
j=i;
while(j)
(
if(j%10==5)
(
cout«i«'\t*;
k++;
if(k%8==0)cout<<\n';
break;
}
j/=IO;
}
)
coutv<\n';
4_19
#include<iostream.h>
voidmain(void)
{inti,jl,j2J3,l;
for(i=100;i<=999;i++){
l=i;
j1=1%10;
l/=10;j2=l%10;
l/=10;j3=l%10;
if((jl*jl+j2*j2+j3*j3)=i/ll&&
(jl==j2llj2=j3llj3==jl))
cout«i«'\t*;
)
coutvv'n';
)
或
#include<iostream.h>
voidmain(void)
{inti;
for(i=100;i<=999;i++){
if((i%10)*(i%10)+(i/10%10)*(i/10%10)+(i/100)*(i/100)=i/ll)
if(!((i%10-i/10%10)*(i/10%10-i/100)*(i%10-i/100)))cout«i«V;
)
cout«'\n';
)
[返回]
第五章练习题P.96
5_1
#include<iostream.h>
voidmain(void)
{intx,y,z,max;
8出《”输入三个整数!n«endl;
cin»x»y»z;
cout«",x="«x«^,«"y=n«y«V«"z=',«z«^';
intfun_max(int,int);
max=fun_max(fun_max(x,y),z);
coutvv”最大数是:u«max«endl;
}
intfun_max(inta,intb)
{if(a>b)returna;elsereturnb;}
5_2
#include<iostream.h>
#include<stdlib.h>
intfun(intn)
{if(n<0){
coutv<"n应为正数!
exit(l);
if(n==O)retum1;
returnn*fun(n-l);
)
intfun_c(intm,intr)
{if(m<Ollr<Ollm<r){
coutvv”输入的数不正确!,,«,\n,;
exit(l);
)
returnfun(m)/(fun(r)*fun(m-r));
)
voidmain()
{cout<<"c(4,2)="«fun_c(4,2)«'\n';
cout«',c(6,4)=n<<fun_c(6,4)«,\n,;
cout«Mc(8,7)=n«fun_c(8,7)«,\n,;
I
5_3
#include<iostream.h>
voidfun(intx)
{intt;
if(x==O)return;
t=x%16;
fun(x/16);
switch(t){
case15:cout<vF;break;
case14:coutvv'E';break;
case13:cout<<D';break;
case12:coutvv'C';break;
case1l:cout«B;break;
case10:coutvv'A';break;
default:cout«t;
)
)
voidmain()
{intx;
COUt<<"请输入--个十进制整数:";
cin»x;
fun(x);
cout«endl;
)
5_4
#include<iostream.h>
#include<math.h>
intfun(intn)
{intm;
m=(int)sqrt(n);
for(intk=3;k<=m;k++)
if(n%k==O)return0;
return1;
)
voidmain()
{intj=0;
for(inta=5;a<=100;a+=2){
if(fun(a)==l){
cout«a«'\t';
j++;
if(j%5==0)cout«,\n,;
)
)
cout«,\n';
)
5_5
#include<iostream.h>
intfun(intx,inty)
{for(inti=x;;i++)
if(i%y==0&&i%x==0)retumi;
}
voidmain()
{intnuml,num2;
cin»num1»num2;
cout«numl<<"和"vvnum2vv”的最小公倍数是:M«fun(numl,num2)«^*;
)
5_6
#include<iostream.h>
intfun(intx,inty)
{for(inti=x;i>l;i—)
if(y%i==O&&x%i==O)returni;
return1;
}
voidmain()
{intnuml,num2;
cin»num1»num2;
cout«numl<<"和"vvnum2vv”的最大公约数是:"«fun(num1,num2)«^*;
)
5_7
#include<iostream.h>
intmax(inta,intb)
{coutvv"整数!”;
if(a>b)returna;
elsereturnb;
floatmax(floata,floatb)
{coutvv”实数!”;
if(a>b)returna;
elsereturnb;
)
voidmain(void)
{intx=l,y=2;
floata=l,b=2;
coutv<"大数是:"«max(a,b)«endl;
coutvv”大数是:"<vmax(x,y)vvendl;
}
5_8
#include<iostream.h>
inlinefloatfun_max(floata,floatb,floatc)
{return(a>=b?a:b)<c?c:(a>=b?a:b);}
voidmain(void)
{floatx,y,z;
cin»x»y»z;
coutvv"最大数是:fun_max(x,y,z)v<endl;
}
5_9
#include<iostream.h>
intfun1(intn=10)〃用循环解
(
intjc=l;
for(inti=l;i<=n;i++)
jc*=i;
returnjc;
)
intfun2(intn=10)〃用递归解
(
if(n==0lln==1)retum1;
returnn*fun2(n-l);
)
voidmain()
(
cout«10«"!="«fun1()<<、';
cout«10v<"!="<vfun2()<<\n';
intn;
cin»n;
cout«n«H!="«fun1(n)«^1;
cout«n«*,!=u«fun2(n)«,\n,;
5_12
#include<iostream.h>
#include<iomanip.h>
longFibonacci(intn)
{if(n==1lln==2)return1;
returnFibonacci(n-1)+Fibonacci(n-2);
)
voidmain()
{intn;
cin»n;
for(inti=l;i<=n;i++){
cout«setw(12)«Fibonacci(i);
if(i%4==0)cout«\n';
)
coutvv'n';
)
5_13
#include<iostream.h>
floatHl(intn,floatx)〃递归
{if(n==O)return1;
if(n==l)retum2*x;
return2*x*H1(n-1,x)-2*(n-1)*Hl(n-2,x);
)
floatH2(intn,floatx)〃非递归----循环
{floath0=l,hl=2*x,h2;
if(n==O)retum1;
if(n==l)return2*x;
for(inti=2;i<=n;i++){
h2=2*x*hl・2*(i・l)*h0;
h0=hl;hl=h2;
)
returnh2;
}
voidmain()
{intn;
floatx;
coutv<”请输入一个不小于零的整数和一个褛!H«endl;
cin»n»x;
coutvv”输入的两个数是:n«endl;
cout«',n=u«n«r\t,«,'x=,,«x«endl;
cout«MHermite数列的前n项分别是:\nn;
for(inti=0;i<=n;i++){
cout«',H"«i«,,=,,«H1(i,x)«',(,'«H2(i,x)«',),,«endl;
)
5_15
#include<iostream.h>
voidfunl(intx)〃正序----递归
{intt;
if(x==O)retum;
t=x%10;
funl(x/10);
cout«t;
)
voidfun2(intx)〃反序----递归
{intt;
if(x==O)retum;
t=x%10;
cout«t;
fun2(x/10);
)
voidfun3(intx)〃正序----循环
{intj,y=x;
for(inti=0;y>0;i+4-)y/=10;〃求x的位数i
for(;i>0;i-){〃输出并去掉最高位
y=x;
for(j=i;j>l;j-)y/=10;
cout«y;
for(;j<i;j++)y*=10;
y=x-y;
x=y;
)
)
voidfun4(intx)〃反序----循环
{for(;x>0;x/=10)
cout«x%10;
}
voidmain()
{inta=12345;
fun1(a);
cout«'\n';
fun2(a);
coutvv'\n';
fun3(a);
cout«\n';
fun4(a);
cout«,\n';
5_16
//myfun.h(文件名)
floatfun_max(floatx,floaty)
{if(x>y)returnx;
elsereturny;
)
//mypro.cpp(文件名)
#include<iostream.h>
#include"myfun.hH
voidmain()
(
floata,b,c,max;
cin»a»b»c;
cout«"a=u«a«M,«nb=,'«b«M,«"c=',«c«'\n';
max=fun_max(fun_max(a,b),c);
coutvv”最大数是:"«max«endl;
}
5_17
#include<iostream.h>
#defineMAX(A,B)A>B?A:B
#defineMIN(A,B)A>B?B:A
voidmain()
{intx,y,z,max,min;
cin»x»y»z;
max=MAX(MAX(x,y),z);
min=MIN(MIN(x,y),z);
coutvv"最大数是:"vvmaxvv、kv”最小数是:,,«min«r\n,;
}
5_18
#include<iostream.h>
#include<math.h>
#defineAREA(a,b,c)sqrt((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c))
doublearea(floata,floatb,floatc)
{returnsqrt((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c));}
voidmain()
{floatx,y,z,areal,area2;
cin»x»y»z;
if(x+y>z&&y+z>x&&z+x>y){
areal=(float)AREA(x,y,z);
area2=(float)area(x,y,z);
cout«',area="«areal«,'(',«area2«',)"«,\n';
elsecoutvv”输入的值不正确!"vv'\n';
)
*5」4
#include<stdlib.h>
longAcm(intm,intn)
{if(m<0lln<0){
cout«”m和n为正整数!”;
exit(l);
)
if(m==O)returnn+1;
if(n==O)returnAcm(m-lJ);
returnAcm(m-1,Acm(m,n-l));
)
voidmain()
{cout«',Acm(5,3)="«Acm(5,3)«,\n';
cout«',Acm(4,2)=',«Acm(4,2)«,\n,;
cout«*,Acm(5,5)=,,«Acm(5,5)«,\n,;
)
注:第10、11、14和19不作要求。
「返回1
第六章练习题P.118
6_1
#include<iostream.h>
voidmain()
{inta[9]={1,2,3,4,5,67,8,9);
intmaxl=0,max2=0,count=0;
for(intk=0;k<9;k++){
if(a[k]%2==0&&a[k]>max2)max2=a[k];
if(afk]%2!=0){
count+=1;
if(a[k]>maxl)max1=a[k];
)
)
coutvv”最大偶数是:u«max2«endl;
if(!count)coutvv”没有奇数!"<<endl;
elsecoutvv”最大奇数是:,,«maxl«endl;
)
6_2
#include<iostream.h>
voidmain()
{inti=0,count1=0,count2=0,a[100];
floatsum=0;
for(intk=0;k<100;k++){
cin»a[kj;
if(a[k]=O)break;
for(intj=0;a[j];j++){
sum+=a[j];
if(a[j]>0)count1+=1;
elsecount2+=l;
)
cout«"average=H«sum/(countl+count2)«endl;
coutvv”正数个数是:"v〈count1vv'tNv”负数个数是:n«count2«endl;
)
6_3
#include<iostream.h>
voidinput(floata[],intn)
{for(inti=O;i<n;i++)cin»a[i];}
voidsort(floata[],intn)
{for(inti=0;i<n-l;i++)
for(intj=i+l;j<n;j++)
if(a[i]>a[j]){
floatt=a[i];a[i]=a[j];a[j]=t;
)
)
voidoutput(floata[],intn)
{for(inti=0;i<n;i++)cout«a[i]«,\t,;
cout«endl;
)
voidmain()
{floata[10];
input(aJO);
sort(a,10);
output(aJO);
)
6_4
#include<iostream.h>
voidinput(floatalJ,intn)
{for(inti=O;i<n;i++)cin»a[i];}
floatfun_M(floatalJ,intn)
{floatM=0;
for(inti=0;i<n-1;i++)M+=a[i];
returnM/n;
)
floatfun_D(floata[],intn)
{floatD=0;
floatM=fun_M(a,n);
for(inti=0;i<n;i++)D+=(a[i]-M)*(a[i]-M);
returnD;
voidmain()
{floata[100];
intn;
cin»n;
input(a,n);
cout«',D=',«fun_D(a,n)«endl;
)
6_5
#include<iostream.h>
voidmain()
{intij,sum=0;
inta[4][4];
for(i=0;i<4;i++)
for(intj=0;j<4;j++)cin»a[i][j];
coutvv'n';
for(i=0;i<4;i++)
for(j=0;j<4;j++)if(i==jll(i+j)==3)suirn-=a[i]|j];
cout«',sum=,'«sum«endl;
)
6_6
#include<iostream.h>
#include<iomanip.h>
voidmain()
{inti,j,t;
inta[4][4];
for(i=0;i<4;i++)
for(intj=0;j<4;j++)cin»a[i][jl;
for(i=0;i<4;i++)
{for(intj=0;j<4;j++)cout«setw(6)«a[i][j];
coutvv'n’;
)
coutvv”转置后:\n”;
for(i=0;i<4;i++)
for(j=i;j<4;j++)
{t=a[i][j];a[i][j]=a|j][i];a[j][i]=t;}
for(i=0;i<4;i++)
{for(intj=0;j<4;j++)cout«setw(6)«a[i][j];
cout«An*;
)
6_7
#include<iostream.h>
voidinput(floata[][2],intn)
{for(inti=0;i<n;i++)
for(intj=0;j<2;j++)cin»a[i][j];
I
floataverage(floata[][2],intn)
{floatave=0;
for(inti=0;i<n;i++)
for(intj=0;j<2;j++)ave+=a[i][j];
returnave/(2*n);
)
floataverage1(floata[lf2],intn)
{floatavel=0;
for(inti=0;i<n;i++)avel+=a[i][0];
returnavel/n;
)
floataverage2(floata[][2],intn)
{floatave2=0;
for(inti=0;i<n;i++)ave2+=a[i][l];
returnave2/n;
)
voidmain()
{intn;
floatcla[50][2];
coutvv”请输入班级人数!”vdif;
cin»n;
coutv<”班级人数为:"<<n<<"。
cout«”请依次输入成绩!”《、n,;
input(cla.n);
coutvv”全班平均成绩为:M«average(cla,n)«H!,,«'\n';
cout«”c++平均成绩为:”<vaveragel(cla,n)v<"!”《、’;
coutvv”应用基础平均成绩为:,,«average2(cla,n)«,'!"«,\n,;
)
6_8_1
#include<iostream.h>
voidmain()
{charS[200J;
cin.getline(S,200);
cout«uS=,,«S«'\n';
for(inti=0;S[i];i++)
{if(S[i]==**){
for(intj=i;S[j];j++)S[j]=SU+l];
i-;
)
coutvv”删除空格后S=n«S«endl;
)
6_8_2
#include<iostream.h>
voidmain()
{charS[200],Sl[200];
cin.getline(S,200);
cout«,,S=,,«S«,\n';
for(intj=O,i=O;Sfi];i++)
SI[ji;
for(intk=0;S1[k];k++)S[k]=Sl[k];
S[k]=\Or;
cout«”删除空格后S="«S«endl;
)
6_9_1
#include<iostream.h>
#include<string.h>
voidmain()
{intk;
charS[200],t;
cin.getline(S,200);
cout«,'S="«S«'\n';
k=strlen(S);
for(inti=0;i<k/2;i++)
{t=S[i];S[i]=S[k-i-l];S[k-i-l]=t;
cout«”反序为:n«S«endl;
)
6_9_2
#include<iostream.h>
#include<string.h>
voidmain()
{intk;
charS[200];
cin.getline(S,200);
cout«,,S=,,«S«,\n,;
k=strlen(S);
coutcv"反序为:";
for(inti=k-l;i>=0;i-)cout«S[i];
cout«endl;
}
6_10
#include<iostream.h>
intstrlen(chars[J)
{for(inti=O;s[i];i++);
returni;
)
voidmain()
{charS[200];
cin.getline(S,200);
cout«uS="«S«,\n,;
cout<<”字符串S的长度为:"vvstrien⑸《endl;
)
6_11
#include<iostream.h>
voidstrcpy(chara[],charb[])
{for(inti=0;b[i];i++)a[i]=b[i];
)
voidmain()
{charSa[200],Sb[200];
cin.getline(Sb,200);
cout«“Sb="<<Sb«*\n';
strcpy(Sa,Sb);
cout«HSa="«Sa«endl;
)
6_12
#include<iostream.h>
voidstrcat(chara[],charb[])
{for(inti=0;a[i];i++);
for(intj=O;b[j];j++,i++)a[i]=b[j];
a[iJ=AO*;
)
voidmain()
{charSa[200],Sb[2001;
cin.getline(Sa,200);
cin.getline(Sb,200);
cout«',Sa=,'«Sa«^';
coutvv"Sb="<<Sb«*\n';
strcat(Sa,Sb);
cout«HSa="«Sa«endl;
)
6_13
#include<iostream.h>
#include<math.h>
voidmain()
{inta[2001,b[2001,l,i=2,k=0;
do{
a[0]=2;a[l]=3;
a[i++]=a[i-l]+2;
)
while(a[i]<200);
for(i=0;a[i]<200;i++){
l=(int)sqrt(a[i]);
for(intj=3;j<=l;j++)
if(a[i]%j==O)break;
if(j>=l+l)b[k++]=a[i];
)
b[k]=O;
for(i=0;b[i];i++)cout«b[i]«,\t,;
cout«endl;
}
[返回I
第七章练习题P.135
7_1
structbirth{
intyear;intmonth;intday;
[birthday;
注:类型为birth,变量为birthdayo
7_2
structst{
charname[10J;charadress[50J;
inttelephone;intcode;
}stl;
注:类型为st,变量为stl。
7_3
结构体内变量y重名。
7_4
结构体变量si、s2、s3、s4不能整体输入输出,si和s3、s2和s4是不同类型的变量,不能
相互赋值。
7_5
#include<iostream.h>
#defineN10
struct{
charnameflO],adress[50];
inttelephone,code;
}st[N];
voidmain()
{inti;
for(i=0;i<N;i++)
{cin»st[i].name»stfi].adress»st[i].telephone»st[i].code;}
for(i=0;i<N;i++)
{cout«st[i].name«,\t'«st[i].adress«,\t,«st[i].telephone«V,«st[i].code«,\n,;}
)
7_6
#include<iostream.h>
structcomplex{
floatreal,image;
);
complexjia(complexc1,complexc2,complexc3)
{c3.real=cl.real+c2.real;
c3.image=cl.image+c2.image;
returnc3;
)
complexjian(complexcl,complexc2,complexc3)
{c3.real=cl.real-c2.real;
c3.image=cl.image-c2.image;
returnc3;
)
voidcheng(complexc1,complexc2,complexc3)
{c3.real=cl.real*c2,real-cl.image*c2.image;
c3.image=cl.real*c2.image+cl.image*c2.real;
cout«c3.real«n+"«c3.image«ni"«'\n';
)
voidmain()
{complexfl,f2,f3;
cin»f1.real»f1.image;
cin»f2.real»f2.image;
cout«"fl=H«f1.real«"+H«f1.image«',i,'«,\n,;
cout«,'f2="«f2.real«,,+,,«f2.image«',i,'«,\n,;
cout«n("«f1.real«"+H«f1.image«"i)+u;
coutv<"("vvf2.reakv"+”vvf2.image«"i)=";
cout«jia(fl,f2,f3).real«"+H«jia(fl,f2,f3).image«,'i',«,\n';
coutvv"("v<fl.reakv"+”vvfl.image
cout«,,("«f2.real«"+"«f2.image«ni)=n;
cout«jian(fl,f2,f3).real«,'+"«jian(fl,f2,f3).image«,,i,'«,\n,;;
cout«H(n«f1.real«"+n«f1.image«ni)*n;
cout«,,(M«f2.real«u+,'«f2.image«',i)=n;
cheng(fl,f2,f3);
)
7_7
#include<iostream.h>
#include<math.h>
structpoint{
floatx,y,z;
);
pointinput(pointp)
{coutvv”请输入点的坐标:”;
cin»p.x»p.y»p.z;
returnp;
)
voidoutput(pointp)
{coutvv”点的坐标为:(,,«p.x«M,"«p.y«,,,,,«p.z«',)\n,';}
doubledistance(point,point);
voidmain()
{pointpl,p2;
pl=input(pl);
p2=input(p2);
output(pl);
output(p2);
cout«n(H«pLx«K;,«pl.y«u,n«pLzvv”)与(”《p2.xvv”,”vvp2.yvv”Jvvp2.zvv")的距
离为H«distance(p1,p2)«An';
)
doubledistance(pointpl,pointp2)
{floatdl,d2,d3;
dl=pl.x-p2.x;
<12=pl.y-p2.y;
d3=pl.z-p2.z;
returnsqrt(dl*dl+d2*d2+d3*d3);
)
7_8
#include<iostream.h>
#defineN3
structscore{
charname[10];
intno;
floatc,eng,math,ave;
);
scoreinput(score);
floataverage(floata,floatb,floatc);
voidsort(scoref],intn);
voidprint(score[J,intn);
voidmain()
{scorestudentlNJ;
for(inti=0;i<N;i++)
student[i]=input(student[i]);
for(i=0;i<N;i++)
student[i].ave=average(student[i].c,student[i].eng,student[i].math);
sort(student,N);
print(student,N);
scoreinput(scorest)
{coutvv”请输入姓名:H;cin»;
coutvv”请输入学号:”;cin»st.no;
coutvv”请输入C++成绩:”;cin»st.c;
coulvv”请输入英语成绩:”;cin»st.eng;
coutvv"请输入数学成绩:";cin»st.math;
cout«endl;
returnst;
)
floataverage(floata,floatb,floatc)
{return(a+b+c)/3;}
voidsort(scorest[],intn)
{scoretemp;
for(inti=0;i<n-l;i++)
for(intj=i;j<n;j++)
if(st[i].ave<st[j].ave)
{temp=st[i];st[i]=st[j];st[j]=temp;}
)
voidprint(scorest[],intn)
{COUt«M^10."〈〈“姓名"《“平均”《<++”《"英语“《"数学\11”;
for(inti=0;i<n;i++)
{cout«i;
cout«At*«st[i].no;
cout«V,«st[i].name;
cout«V*«st[i].ave;
cout«\t,«st[i].c;
coutvv*\f<vst[i].eng;
cout«,\t'«st[i].math«endl;
)
)
7_9
#include<iostream.h>
enumweekdays}Sun,Mon,Tue,Wed,Thu,Fri,Sat};
weekdaysinput(int);
voidprint(weekdays);
voidmain()
{inti;
weekdaysday;
cout«H0:Sun,1:Mon,2:Tue,3:Wed,4:Thu,5:Fri,6:Sat\nn;
while(l){
cin»i;
if(i<0lli>6){
couivv”输入的值不对!\n";break;}
elseday=input(i);
print(day);
)
)
weekdaysinput(inti)
{weekdaysday;
switch(i){
caseO:day=Sun;break;
case1:day=Mon;break;
case2:day=Tue;break;
case3:day=Wed;break;
case4:day=Thu;break;
case5:day=Fri;break;
case6:day=Sat;break;
)
returnday;
)
voidprint(weekdaysday)
{switch(day){
caseSun:cout«nTodayisSunday!\n";break;
caseMon:cout«HTodayisMonday!\n";break;
caseTue:cout«"TodayisTuesday!\n;break;
caseWed:cout«"TodayisWednesday!\n";break;
caseThu:cout«"TodayisThursday!\nn;break;
caseFri:cout«"TodayisFriday!\n";break;
caseSat:cout«"TodayisSaturday!\n";break;
)
)
7_10
#include<iostream.h>
enumcolor{Red,Blue,Green};
voidprint(colorcol)
{switch(col){
caseRed:cout«nRed\tn;break;
caseBlue:cout«"Blue\t";break;
caseGreen:cout«HGreen\tM;break;
)
)
voidmain()
{colori,j,k;
intn=0;
for(i=Red;i<=Green;i=(color)((int)i+1))
for(j=Red;j<=Green;j=(color)((int)j+1))
for(k=Red;k<=Green;k=(color)((int)k+1))
if(i!=j&&j!=k&&i!=k){
cout«4-4-n«'\t';
print(i);print(j);print(k);
cout«,'\nH;
)
)
[返回I
第八章练习题P.196
8_1
(1)地址变量不能输入;
(2)p2没有初始化,即悬空时不能对其所指的内存赋值;
(3)~(5)同类型的指针之间才能相互赋值。
8_2
#include<iostream.h>
voidswap(float*pl,fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 维修工程师专业考试题及解析
- 充电式工具项目可行性分析报告范文(总投资23000万元)
- 深度解析(2026)《GBT 19209.1-2003拖拉机修理质量检验通则 第1部分轮式拖拉机》(2026年)深度解析
- 年产xxx实心胎项目可行性分析报告
- 独居老人的糖尿病居家安全管理
- 资深制药工程问题解析与高工经验
- 销售经理岗位能力测试题及高分技巧含答案
- 深度解析(2026)《GBT 18834-2002土壤质量 词汇》(2026年)深度解析
- 不锈钢过滤器建设项目可行性分析报告(总投资19000万元)
- PE吹膜机项目可行性分析报告范文
- 2026年元旦校长致辞:骐骥驰骋启新程智育赋能向未来
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 看管牛羊合同范本
- 2025上海崇明区事务性辅助人员招聘7人笔试备考题库带答案解析
- 2025年东营市总工会公开招聘工会社会工作者(25人)笔试考试备考题库及答案解析
- 污水处理厂设备更新项目社会稳定风险评估报告
- 全国人大机关直属事业单位2026年度公开招聘工作人员考试模拟卷附答案解析
- 人社局公益性岗位笔试题目及答案
- 2026全国人大机关直属事业单位招聘50人笔试考试备考题库及答案解析
- 2026年烟花爆竹经营单位主要负责人证考试题库及答案
- 2025秋统编语文八年级上册14.3《使至塞上》课件(核心素养)
评论
0/150
提交评论