文档库

最新最全的文档下载
当前位置:文档库 > C++简明教程天津大学出版社课后习题答案12343

C++简明教程天津大学出版社课后习题答案12343

1-7-1

//输出一个数的10倍

#include

using namespace std;

int main()

{

cout<<"Please input an interger:\n";

int a;

cin>>a;

cout<<"result="<

return 0;

}

1-7-2

//输出两个数中的较小的

#include

using namespace std;

int main()

{

double x,y,min;

cout<<"please input two numbers"<

cin>>x>>y;

min=(x>y?y:x);

cout<<"the smaller is"<<' '<

return 0;

}

1-7-3

//输入半径计算周长和面积

#include

using namespace std;

int main()

{

cout<<"请输入半径\n";

double rad;

cin>>rad;

double c,s;

c=2*3.14*rad;

s=3.14*rad*rad;

cout<<"周长是"<

cout<<"面积是"<

return 0;

}

1-7-4

//将10000秒化成小时分钟秒

#include

using namespace std;

int main()

{

int hour,min,second;

hour=10000/3600;

min=(10000%3600)/60;

second=10000-hour*3600-60*min;

cout<

return 0;

}

1-7-5

//将一个三位数倒叙输出

#include

using namespace std;

int main()

{

int num,num_bai,num_shi,num_ge;

cout<<"请输入一个三位数";

cin>>num;

num_bai=num/100;

num_shi=(num-num_bai*100)/10;

num_ge=num-num_bai*100-num_shi*10;

cout<

cout<

cout<

return 0;

}

2-3

//简单的输入输出

#include

using namespace std;

int main()

{

double y,n;

cout<<"please input a number\n";

cin>>n;

if (n>0) y=n+1;

if (n<0) y=n*n;

if (n==0) y=0;

cout<<"the result is:"<<' '<

return 0;

}

2-4

//输出学生学号和对应的成绩等级

#include

using namespace std;

int main()

{

double fenshu;

int xuehao;

char dengji;

int i;

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

{

onerror:cout<<"please input student score\n";

cin>>fenshu;

if (fenshu>=90&&fenshu<=100) dengji='A';

if (fenshu>=80&&fenshu<90) dengji='B';

if (fenshu>=600&&fenshu<80) dengji='C';

if (fenshu>=0&&fenshu<60) dengji='D';

if (fenshu<0)

{

cout<<"error";

goto onerror;

}

if (fenshu>100)

{

cout<<"error";

goto onerror;

}

cout<<"the id is"<

cout<<"the score is"<

}

return 0;

}

2-5

//判断输入字符类别

#include

using namespace std;

int main()

{

char zifu;

int ascii;

cout<<"please input a characteristic\n";

cin>>zifu;

ascii=zifu;

if (ascii>=48&&ascii<=57)

{

cout<<"数字\n";

goto end;

}

if (ascii>=97&&ascii<=122)

{

cout<<"小写字母\n";

goto end;

}

if (ascii>=65&&ascii<=90)

{

cout<<"大写字母\n";

goto end;

}

cout<<"其他字符";

cout<

end:

return 0;

}

2-6

//求圆周率的近似值

#include

#include

int main()

{

int xishu=-1;

double danshu=1.0;

int i=1;

double sifenzhipi=0;

do

{

xishu=xishu*(-1);

danshu=1.0/(2*i-1);

sifenzhipi=sifenzhipi+xishu*danshu;

i++;

}

while(danshu>=0.000001);

cout<

return 0;

}

2-7

//输出斐波那契数列前40个数,以8*5的格式输出#include

#include

int main()

{

int b=2;

int feibo1=0;

int feibo2=1;

cout<

for(int i=1;i<=38;i++)

{

int a=feibo2;

feibo2=feibo1+feibo2;

feibo1=a;

cout<

b=b+1;

if(b%8==0) cout<

}

return 0;

}

2-8

//统计输入的元音字母个数

#include

using namespace std;

int main()

{

char zimu;

int a,e,i,o,u;

a=e=u=i=o=0;

begin:cin>>zimu;

switch(zimu)

{

case 'a' :a++;break;

case 'e' :e++;break;

case 'i' :i++;break;

case 'o' :o++;break;

case 'u' :u++;break;

case '#' :goto end;

}

goto begin;

end:cout<

return 0;

}

2-10

//计算5!+6!+7!

#include

using namespace std;

int main()

{

int i,j;

int sum=0;

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

{

int jiecheng=1;

for (j=1;j<=i;j++) jiecheng=jiecheng*j;

sum=sum+jiecheng;

}

cout<

return 0;

}

2-11

//从2开始100个素数

#include

using namespace std;

int main()

{

int sushu=0;

start:;

num++;

for (int i=2;i<=num;i++)

{

if(num%i==0) break;

}

if (i==num)

{

cout<

sushu+=1;

}

if(sushu!=100) goto start;

return 0;

}

2-12

//百钱买百鸡问题

#include

using namespace std;

int main()

{

for(x=0;x<=100;x++)

{

for(y=0;y<=100;y++)

{

for(z=0;z<=100;z++)

if (x+y+z==100&&5*x+3*y+z/3==100&&z%3==0) cout<

}

}

return 0;

}

2-13

#include

using namespace std;

int main()

{

int a,b,c,d,e;

c=0;

cin>>a;

cout<<"输入"<

b=1;

e=a*a*a;

while (c!=e)

{

d=b;

c=0;

for (int i=1;i<=a;i++) {

c=c+d;

d=d+2;

}

b=b+2;

}

//cout<

int f=b-4;

for (int j=1;j<=a;j++) {

f=f+2;

cout<

cout<<"的和\n"; return 0;

}

2-14

//输出四方*形状

#include

using namespace std;

int main()

{

int i,j;

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

{

j=1;

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

{

if(i+j>=6&&i+j<=14&&j-i<=4&&i-j<=4) cout<<'*';

else cout<<' ';

}

cout<

}

return 0;

}

3-1-1

//向数组a中输入10个整数,求其中的最大值,最小值和10个数的算术平均值

#include

using namespace std;

int main()

{

int a[10];

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

cin>>a[i];

int max=a[0],min=a[0],sum=a[0];

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

{

sum=sum+a[j];

max=(max>a[j]?max:a[j]);

min=(min

}

double ave=sum/10.00;

cout<

return 0;

}

3-1-2

#include

using namespace std;

int main()

{

int score[10];

int sum=0,a=0,b=0;

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

{

cin>>score[i];

sum=sum+score[i];

}

double ave=sum/10.0;

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

{

if(score[j]>ave) a++;

if(score[j]<60) b++;

}

cout<<"成绩大于平均值的人数是"<

return 0;

}

3-3-1

#include

using namespace std;

int main()

{

int a[10],sum=0,min,max;

double ave;

int *ptoa=a;

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

{

cin>>*(a+i);

sum+=*(a+i);

}

min=*(a);

max=*(a);

for (int j=1;j<=9;j++)

{

min=(min<*(a+j)?min:*(a+j));

max=(max>*(a+j)?max:*(a+j));

}

cout<

ave=sum/10.0;

cout<

return 0;

}

3-3-2

#include

using namespace std;

int main()

{

int a[10],sum=0,j=0,c=0; //定义数组a,sum是各学生成绩之和,j是小于60的个数,c是大于平均值的个数

double ave=0; //定义平均值

int *ptoa=a; //使用指针

for (int i=0;i<=9;i++) //输入并算和,统计小于60的

{

cin>>*(ptoa+i);

sum+=*(ptoa+i);

if (*(ptoa+i)<60)

{

j++;

}

}

ave=sum/10.0; //计算平均值

//cout<

for (int k=0;k<=9;k++) //计算大于平均值的

{

if (*(ptoa+k)>ave)