1、
谭浩强c++程序设计课后答案
娄警卫
第一章
1.5题
#include
2、";
cout< 3、 return(m);
}
1.8题
#include 4、cout<<"a+b="< 5、
return 0;
}
2.4题
#include 6、j,m,n;
i=8;
j=10;
m=++i+j++;
n=(++i)+(++j)+m;
cout<
using namespace std;
int main()
{char c1='C', c2='h', c3='i', c4='n', c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
cout<<"password is:"< 7、< 8、ut< 9、amespace std;
int main ()
{float c,f;
cout<<"请输入一个华氏温度:";
cin>>f;
c=(5.0/9.0)*(f-32); //注意5和9要用实型表示,否则5/9值为0
cout<<"摄氏温度为:"< 10、的第一个字符赋给c1
c2=getchar(); //将输入的第二个字符赋给c2
cout<<"用putchar函数输出结果为:";
putchar(c1);
putchar(c2);
cout< 11、ar(); //将输入的第一个字符赋给c1
c2=getchar(); //将输入的第二个字符赋给c2
cout<<"用putchar函数输出结果为:";
putchar(c1);
putchar(44);
putchar(c2);
cout< 12、
int i1,i2; //定义为整型
cout<<"请输入两个整数i1,i2:";
cin>>i1>>i2;
c1=i1;
c2=i2;
cout<<"按字符输出结果为:"< 13、 14、b 15、hree integer numbers:";
cin>>a>>b>>c;
temp=(a>b)?a:b; /* 将a和b中的大者存入temp中 */
max=(temp>c)?temp:c; /* 将a和b中的大者与c比较,最大者存入max
*/
cout<<"max="< 16、cout<<"enter x:";
cin>>x;
if (x<1)
{y=x;
cout<<"x="< 17、 {y=3*x-11;
cout<<"x="< 18、<"data error,enter data again.";
cin>>score;
}
switch(int(score/10))
{case 10:
case 9: grade='A';break;
case 8: grade='B';break;
case 7: grade='C';break;
case 6: grade='D';break;
default:grade='E';
}
cout<<"score 19、 is "< 20、cin>>num;
if (num>9999)
place=5;
else if (num>999)
place=4;
else if (num>99)
place=3;
else if (num>9)
place=2;
else place=1;
cout<<"place="< 21、dred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
cout<<"original order:";
switch(place)
{case
5:cout< 22、ed<<","< 23、ak;
case 3:cout< 24、<"reverse order:";
cout< 25、 //利润为20万元时的奖金
bon4=bon2+100000*0.05; //利润为40万元时的奖金
bon6=bon4+100000*0.03; //利润为60万元时的奖金
bon10=bon6+400000*0.015; //利润为100万元时的奖金
cout<<"enter i:";
cin>>i;
if (i<=100000)
bonus=i*0.1; //利润在10万元以内按10%提成奖金
else if (i<=200000)
bo 26、nus=bon1+(i-100000)*0.075; //利润在10万元至20万时的奖金
else if (i<=400000)
bonus=bon2+(i-200000)*0.05; //利润在20万元至40万时的奖金
else if (i<=600000)
bonus=bon4+(i-400000)*0.03; //利润在40万元至60万时的奖金
else if (i<=1000000)
bonus=bon6+(i-600000)*0.015; //利润在60万元至100万时的奖金
else
27、 bonus=bon10+(i-1000000)*0.01; //利润在100万元以上时的奖金
cout<<"bonus="< 28、n6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
cout<<"enter i:";
cin>>i;
c=i/100000;
if (c>10) c=10;
switch(c)
{case 0: bonus=i*0.1; break;
case 1: bonus=bon1+(i-100000)*0.075; break;
case 2:
case3: bonus=bon2+(i-200000)*0.05;break;
case 4:
case5: bonus=bon4+(i-400 29、000)*0.03;break;
case 6:
case 7:
case 8:
case 9: bonus=bon6+(i-600000)*0.015; break;
case 10: bonus=bon10+(i-1000000)*0.01;
}
cout<<"bonus="< 30、mbers:";
cin>>a>>b>>c>>d;
cout<<"a="<b)
{t=a;a=b;b=t;}
if (a>c)
{t=a; a=c; c=t;}
if (a>d)
{t=a; a=d; d=t;}
if (b>c)
{t=b; b=c; c=t;}
if (b>d)
{t=b; b=d; d=t;}
if (c>d)
{t=c; c=d; d=t;}
cout<<"the sorted sequence:"<< 31、endl;
cout<
using namespace std;
int main ()
{int p,r,n,m,temp;
cout<<"please enter two positive integer numbers n,m:";
cin>>n>>m;
if (n 32、 //把大数放在n中, 小数放在m中
}
p=n*m; //先将n和m的乘积保存在p中, 以便求最小公倍数时用
while (m!=0) //求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
cout<<"HCF="< 33、namespace std;
int main ()
{char c;
int letters=0,space=0,digit=0,other=0;
cout<<"enter one line::"< 34、r++;
}
cout<<"letter:"< 35、值
sn=sn+tn; //赋值后的sn为多项式前i项之和
a=a*10;
++i;
}
cout<<"a+aa+aaa+...="< 36、t<<"1!+2!+...+20!="< 37、 cout< 38、n用来累计a的因子的个数
s=a; // s用来存放尚未求出的因子之和,开始时等于a
for (i=1;i 39、ase 1:
k1=i; break; // 找出的笫1个因子赋给k1
case 2:
k2=i; break; // 找出的笫2个因子赋给k2
case 3:
k3=i; break; // 找出的笫3个因子赋给k3
case 4:
k4=i; break; // 找出的笫4个因子赋给k4
case 5:
k5=i; break; // 找出的笫5个因子赋给k5
case 6:
k6=i; break; 40、 // 找出的笫6个因子赋给k6
case 7:
k7=i; break; // 找出的笫7个因子赋给k7
case 8:
k8=i; break; // 找出的笫8个因子赋给k8
case 9:
k9=i; break; // 找出的笫9个因子赋给k9
case 10:
k10=i; break; // 找出的笫10个因子赋给k10
}
}
if (s==0) // s=0表示全部因子都已找到了
42、 cout<<","< 43、nt main()
{int m,s,i;
for (m=2;m<1000;m++)
{s=0;
for (i=1;i 44、rn 0;
}
3.20题另一解
#include 45、
{cout<
using namespace std;
int main()
{int i,t,n=20;
double a=2,b=1,s=0;
for (i=1;i<=n;i+ 46、)
{s=s+a/b;
t=a;
a=a+b; // 将前一项分子与分母之和作为下一项的分子
b=t; // 将前一项的分子作为下一项的分母
}
cout<<"sum="< 47、1=(x2+1)*2; // 第1天的桃子数是第2天桃子数加1后的2倍
x2=x1;
day--;
}
cout<<"total="< 48、 x0=a/2;
x1=(x0+a/x0)/2;
do
{x0=x1;
x1=(x0+a/x0)/2;
}
while(fabs(x0-x1)>=1e-5);
cout<<"The square root of "<
using namespace std;
int main()
{int i,k;
for (i=0;i<=3;i++) // 输出上面4行*号 49、
{for (k=0;k<=2*i;k++)
cout<<"*"; // 输出*号
cout< 50、
}
3.25题
#include
using namespace std;
int main ()
{int i,j,k,n;
cout<<"narcissus numbers are:"<
using namespace std;
int main()
{int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x






