第一章 习题答案
1.5
cout<<"Enter two numbers";
cin>>a>>b;
c=a*b;
cout<<"a*b="<<c;
1.7
#include <iostream.h>
void main()
{float a,b,c;
cout<<"请任意输入三个数:";
cin>>a>>b>>c;
cout<<endl<<"其和为:"<<a+b+c;
cout<<endl<<"其平均值为:"<<(a+b+c)/3;
cout<<endl<<"其积为:"<<a*b*c;
cout<<endl<<"最小值为:";
if (a<b)
    if (a<c)
        cout<<a;
    else
        cout<<c;
else
    if (b<c)
        cout<<b;
    else
        cout<<c;
cout<<endl<<"最大值为:";
if (a>b)
    if (a>c)
        cout<<a;
    else
        cout<<c;
else
    if (b>c)
        cout<<b;
    else
        cout<<c;
cout<<endl;
}
1.8
#include <iostream.h>
void main()
{float a,b,c;
cout<<"请任意输入一个三角形的三边长";
cin>>a>>b>>c;
if ((a+b>c) && (b+c>a) &&(a+c>b))
    cout<<endl<<"三角形的周长为:"<<a+b+c<<endl;
else
    cout<<endl<<"此三边不能构成一个三角形"<<endl;
}
3.8
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
void main()
{
    printf("%-15d",40000);                          //(1)方法一
cout<<setiosflags(ios::left)<<setw(15)<<40000;  //(1)方法二
        char state[20];
    cin>>state;      //(方法一)
    scanf("%s",state); //(方法二) 
    gets(state); //(方法三)           
        printf("%d%u",200,200);                          //(3)
        printf("%#x",100);                              //(4) 
        printf("%09.3f",1.234);                              //(6)方法一
    cout<<setfill('0')<<setw(9)<<setprecision(4)<<1.234;  //(6)方法二
        char s[50];
    cin>>s;                                          //(7)
}
3.10
#include <stdio.h>
void main( )
{
int a,b,c; 
scanf("%d%o%x",&a,&b,&c);
printf("%d\n%#o\n%#x\n",a,b,c);
}
3.11
#include <stdio.h>
void main( )
{
printf("%1d,%1f\n",12345,1.2345);
printf("%3d,%3f\n",12345,1.2345);
printf("%5d,%5f\n",12345,1.2345);
printf("%6d,%6f\n",12345,1.2345);
printf("%7d,%7f\n",12345,1.2345);
printf("%10d,%10f\n",12345,1.2345);
}
3.12
#include <iostream.h>
#include <stdio.h>
#include <iomanip.h>
void main( )
{const double x=100.453627;
//方法一:
printf("方法一:\n%10.0f\n%10.1f\n%10.2f\n%10.3f\n%10.4f\n",x,x,x,x,x);
//方法二:
cout<<"方法二:\n";
cout<<setprecision(3)<<x<<endl
    <<setprecision(4)<<x<<endl
    <<setprecision(5)<<x<<endl
    <<setprecision(6)<<x<<endl
    <<setprecision(7)<<x<<endl;
}
3.17
#include <iostream.h>
void main( )
{int a,b,c;
cout<<"请输入第一个数:";
cin>>a;
cout<<"请输入第2个数:";
cin>>b;
cout<<"请输入这两个数相加的和:";
cin>>c;
if(c==a+b)
    cout<<"恭喜你,答对了!"<<endl;
else
    cout<<"很不幸,你答错了!正确的答案为:"<<a+b<<endl;
}
4.13
#include <iostream.h>
void main( )
{float a,b,c;
cout<<"请输入三角形的第一边:";
cin>>a;
cout<<"请输入三角形的第二边:";
cin>>b;
cout<<"请输入三角形的第三边:";
cin>>c;
if (a+b>c&&a+c>b&&b+c>a)
    cout<<"这三边可以构成一个三角形!\n";
else
    cout<<"这三边不能构成一个三角形!\n";
}
4.18
方法一:
#include <iostream.h>
void main( )
{int score;
cout<<"请输入百分制成绩(1-100):";
cin>>score;
if (score>100||score<0)
    cout<<"输入的成绩为非法数据!\n";
else if (score>=90)
    cout<<"五分制成绩为A\n";
else if (score>=80)
    cout<<"五分制成绩为B\n";
else if (score>=70)
    cout<<"五分制成绩为C\n";
else if (score>=60)
    cout<<"五分制成绩为D\n";
printf怎么加endl else
        cout<<"五分制成绩为E\n";
}
方法二:
#include <iostream.h>
void main( )
{int score,kk=20;
cout<<"请输入百分制成绩(1-100):";
cin>>score;
if (score<0 ||score>100)
  {cout<<"输入的成绩为非法数据!\n";
  return;
  }
kk=score/10;
switch (kk)
{
case 10:
case 9:cout<<"五分制成绩为A\n";break;
case 8:cout<<"五分制成绩为B\n";break;
case 7:cout<<"五分制成绩为C\n";break;
case 6:cout<<"五分制成绩为D\n";break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:cout<<"五分制成绩为E\n";break;
}
}
4.22
方法一:
#include <iostream.h>
#include <math.h>
void main( )
{int a,b,c,i;
cout<<"水仙花数有:\n";
for (i=100;i<=999;i++)
{
    a=i/100;                     
    b=(i-a*100)/10;
    c=i-a*100-b*10; 
        if (i==pow(a,3)+pow(b,3)+pow(c,3))//if(i==a*a*a+b*b*b+c*c*c)
        cout<<i<<endl;
}
}
方法二:
#include <iostream.h>
#include <math.h>
void main( )
{int a,b,c;
cout<<"水仙花数有:\n";
for (a=1;a<=9;a++)          6
        for (b=0;b<=9;b++)10
      for (c=0;c<=9;c++)  0-9
            if (a*100+b*10+c==pow(a,3)+pow(b,3)+pow(c,3))
cout<<a*100+b*10+c<<endl;
}
4.27(1)
#include <iostream.h>
void main( )
{int i,j;
for (i=1;i<=10;i++)
        {for (j=1;j<=i;j++)  cout<<"*";
        cout<<endl;
        }
}
4.27(2)
方法一:
#include <iostream.h>
#include <iomanip.h>
void main( )
{int i,j;
for (i=1;i<=10;i++)
    {cout<<setw(i)<<" "; 
    for (j=1;j<=11-i;j++)      cout<<"*";
        cout<<endl;
    }
}
方法二:
#include <iostream.h>
void main( )
{int i,j;
for (i=1;i<=10;i++)
    { for (j=1;j<=i;j++)  cout<<" ";

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。