• C++程序设计(第2版)课后习题答案第4章


    C++程序设计(第2版)课后习题答案--第4章 控制结构

    View Code
      1 //4.10  设计一个程序,输入实型变量x和y,若x>y,则输出 x-y;若x<y,则输出 y-x。
      2 #include <iostream.h>
      3 #include <stdio.h>
      4 void main()
      5 {
      6     int x,y;
      7     printf("请输入两个数,中间用空格隔开:\n");
      8     cin>>x>>y;
      9     if(x>y)
     10         cout<<x-y<<endl;
     11     else
     12         cout<<y-x<<endl;
     13 }
     14 // 4.11
     15 #include <iostream.h>
     16 #include <stdio.h>
     17 #include <math.h>
     18 void main()
     19 {
     20     int x,i,j,b,c,d,e;
     21     int a=0;
     22     printf("请输入一个数:\n");
     23     cin>>x;
     24     b=x;
     25     while(b>0)
     26     {
     27         i=b%10;
     28         b=b/10;
     29         a++;
     30     }
     31     cout<<"输入数为"<<a<<"位数"<<endl;
     32     printf("输入数的每一位数为:\n");
     33     c=x;
     34     while(c>0&&a>0)
     35     {
     36         d=c/pow(10,(a-1));
     37         c-=d*pow(10,(a-1));
     38         cout<<d<<endl;
     39         a--;
     40     }
     41     cout<<"与输入数逆序为:"<<endl;
     42     while(x>0)
     43     {
     44         j=x%10;
     45         x/=10;
     46         cout<<j;
     47     }
     48     cout<<endl;
     49 }
     50 
     51 // 4.12
     52 #include <iostream.h>
     53 void main()
     54 {
     55     float i,j,a,b;
     56     cout<<"请输入若干个数,中间用空格隔开,并以“.”号结束"<<endl;
     57     cin>>i>>j;
     58     while(i>0&&j>0){
     59         if (i>j)
     60         {
     61             cin>>j;
     62             a=i;
     63         }
     64         else
     65         {
     66             cin>>i;
     67             b=j;
     68         }
     69     }
     70     if(a>b)
     71         cout<<a<<endl;
     72     else
     73         cout<<b<<endl;
     74 }
     75 
     76 // 4.13
     77 #include <iostream.h>
     78 void main()
     79 {
     80     float a,b,c;
     81     cout<<"请输入若3个数,中间用空格隔开"<<endl;
     82     cin>>a>>b>>c;
     83     if(a+b>c&&a+c>b&&b+c>a)
     84         cout<<"这三个数能构成三角形的三边"<<endl;
     85     else
     86         cout<<"这三个数不能构成三角形的三边"<<endl;
     87 }
     88 
     89 // 4.14
     90 #include <iostream.h>
     91 void main()
     92 {
     93     int a,b,c;
     94     cout<<"请输入若3个数,中间用空格隔开"<<endl;
     95     cin>>a>>b>>c;
     96     if(a+b>c&&a+c>b&&b+c>a)
     97         cout<<"这三个数能构成三角形的三边"<<endl;
     98     else
     99         cout<<"这三个数不能构成三角形的三边"<<endl;
    100 }
    101 
    102 // 4.15
    103 #include <iostream.h>
    104 void main()
    105 {
    106     int i,j;
    107     int a=1;
    108     cout<<"二进制"<<'\t'<<"十进制"<<'\t'<<"八进制"<<'\t'<<"十六进制"<<endl;
    109     for(;a<=156;a++)
    110     {
    111         i=a;
    112         while (i>0)
    113         {
    114             j=i%2;i=i/2;
    115             cout<<j;
    116         }
    117         cout<<'\t'<<dec<<a<<'\t'<<oct<<a<<'\t'<<hex<<a<<endl;
    118     }
    119     
    120 }
    121 // 4.16
    122 #include <iostream.h>
    123 void main()
    124 {
    125     int a,b,c,d;
    126     int max1,max2,min1,min2;
    127     cout<<"请输入四个数"<<endl;
    128     cin>>a>>b>>c>>d;
    129     if(a>b)
    130     {
    131         max1=a;
    132         min1=b;
    133     }
    134     else
    135     {
    136         max1=b;
    137         min1=a;
    138     }
    139     if(c>d)
    140     {
    141         max2=c;
    142         min2=d;
    143     }
    144     else
    145     {
    146         max2=d;
    147         min2=c;
    148     }
    149     cout<<"这四个数由大到小的排列顺序为:"<<endl;
    150     if(max1>max2)
    151     {
    152         cout<<max1<<" ";
    153         if(min1>min2)
    154         {
    155             if(max2>min1)
    156                 cout<<max2<<" "<<min1<<" "<<min2<<endl;
    157             else
    158                 if(max2>min2)
    159                     cout<<min1<<" "<<max2<<" "<<min2<<endl;
    160                 else
    161                     cout<<min1<<" "<<min2<<" "<<max2<<endl;
    162         }
    163         else
    164         {
    165             if(max2>min2)
    166                 cout<<max2<<" "<<min2<<" "<<min1<<endl;
    167             else
    168                 if(max2>min1)
    169                     cout<<min2<<" "<<max2<<" "<<min1<<endl;
    170                 else
    171                     cout<<min2<<" "<<min1<<" "<<max2<<endl;
    172         }
    173     }
    174     else
    175     {
    176         cout<<max2<<" ";
    177         if(min1>min2)
    178         {
    179             if(max1>min1)
    180                 cout<<max1<<" "<<min1<<" "<<min2<<endl;
    181             else
    182                 if(max1>min2)
    183                     cout<<min1<<" "<<max1<<" "<<min2<<endl;
    184                 else
    185                     cout<<min1<<" "<<min2<<" "<<max1<<endl;
    186         }
    187         else
    188         {
    189             if(max1>min2)
    190                 cout<<max1<<" "<<min2<<" "<<min1<<endl;
    191             else
    192                 if(max1>min1)
    193                     cout<<min2<<" "<<max1<<" "<<min1<<endl;
    194                 else
    195                     cout<<min2<<" "<<min1<<" "<<max1<<endl;
    196         }
    197     }
    198     
    199 }
    200 // 4.17
    201 #include <iostream.h>
    202 void main()
    203 {
    204     cout<<"请按照下面方程的格式,分别输入六个参数,中间用空格隔开"<<endl;
    205     cout<<"a1x+b1y=c1"<<endl<<"a2x+b2y=c2"<<endl;
    206     float a1,a2,b1,b2,c1,c2,x,y;
    207     cout<<"请按顺序输入 a1,b1,c1,a2,b2,c2"<<endl;
    208     cin>>a1>>b1>>c1>>a2>>b2>>c2;
    209     x=(b2*c1-b1*c2)/(a1*b2-a2*b1);
    210     y=(a2*c1-a1*c2)/(a2*b1-a1*b2);
    211     cout<<"x="<<x<<endl;
    212     cout<<"y="<<y<<endl;
    213 }
    214 // 4.18
    215 #include <iostream.h>
    216 void main()
    217 {
    218     cout<<"请输入一个百分制的成绩"<<endl;
    219     int a;
    220     cin>>a;
    221     if(a<0||a>100)
    222     {
    223         cout<<"你输入一个错误的数字,请重新输入"<<endl;
    224     }
    225     switch(a/10)
    226     {
    227     case 9:
    228         cout<<"A"<<endl;
    229         break;
    230     case 8:
    231         cout<<"B"<<endl;
    232         break;
    233     case 7:
    234         cout<<"C"<<endl;
    235         break;
    236     case 6:
    237         cout<<"D"<<endl;
    238         break;
    239     case 5:
    240     case 4:
    241     case 3:
    242     case 2:
    243     case 1:
    244     case 0:
    245         cout<<"E"<<endl;
    246         break;
    247     }
    248 }
    249 
    250 //  4.19
    251 #include <iostream.h>
    252 void main()
    253 {
    254     cout<<"请输入一个正整数"<<endl;
    255     int a,b;
    256     int c=0;
    257     cin>>a;
    258     int i=2;
    259     cout<<"该正数的因子为:"<<endl;
    260     for(;i<=a;i++)
    261     {
    262         b=c;
    263         if(a%i==0)
    264             c=a/i;
    265         if(c!=b)
    266             cout<<c<<endl;
    267     }
    268     
    269 }
    270 //  4.20
    271 #include <iostream.h>
    272 void main()
    273 {
    274     cout<<"请输入一个正整数"<<endl;
    275     int a,i;
    276     int sum=0;
    277     cin>>a;
    278     for (;a>0;)
    279     {
    280         i=a%10;
    281         sum+=i;
    282         a/=10;
    283     }
    284     cout<<"这个正整数的各位数字的和为:"<<sum<<endl;
    285 }
    286 
    287 //  4.21
    288 #include <iostream.h>
    289 #include <stdio.h>
    290 void main()
    291 {
    292     int a=2;
    293     int b=1;
    294     float sum=0;
    295     for(int i=1;i<=20;i++){
    296         sum+=(float)(a)/b;
    297         int c;
    298         c=a+b;
    299         b=a;
    300         a=c;
    301     }
    302     cout<<"数列的和为:"<<sum<<endl;
    303 }
    304 
    305 //  4.22
    306 #include <iostream.h>
    307 void main()
    308 {
    309     int a,b,c,sum;
    310     for(int i=100;i<1000;i++)
    311     {
    312         a=(i/100)%10;b=(i/10)%10;c=i%10;
    313         sum=a*a*a+b*b*b+c*c*c;
    314         if(sum==i)
    315             cout<<"水仙花数为:"<<sum<<endl;
    316     }
    317 }
    318 
    319 //  4.23
    320 #include <iostream.h>
    321 void main()
    322 {
    323     int b;
    324     int a=1;
    325     cout<<"1000以内的完数为:"<<endl;
    326     while(a<1000)
    327     {
    328         int sum=0;
    329         for(int i=2;i<=a;i++)
    330         {
    331             int c=0;
    332             b=c;
    333             if(a%i==0)
    334                 c=a/i;
    335             if(c!=b)
    336                 sum+=c;
    337         }
    338         if(sum==a)
    339             cout<<sum<<endl;
    340         a++;
    341     }
    342 }
    343 
    344 //  4.24
    345 #include <iostream.h>
    346 void main()
    347 {
    348     float d;
    349     float a=0;
    350     float b=1;
    351     float c=2;
    352     cout<<a<<endl<<b<<endl<<c<<endl;
    353     for(int n=3;n<=19;n++)
    354     {
    355         d=b*c+a;
    356         a=b;
    357         b=c;
    358         c=d;
    359         cout<<c<<endl;
    360     }
    361 }
    362 
    363 //  4.25
    364 #include <iostream.h>
    365 void main()
    366 {
    367     float c,F;
    368     cout<<"请输入一个华氏度"<<endl;
    369     cin>>F;
    370     c=(F-32)*5/9;
    371     cout<<"这个华氏度所对应的摄氏度为:"<<c<<endl;
    372 }
    373 4.26
    374 //  4.26
    375 #include <iostream.h>
    376 void main()
    377 {
    378     int i;
    379     int a=1;
    380     int sum=0;
    381     cout<<"请输入若干个整数,中间用空格隔开"<<endl;
    382     cin>>i;
    383     while(i>=0)
    384     {
    385         sum+=i;
    386         cin>>i;
    387         cout<<"sum="<<sum<<' '<<a<<endl;
    388         a++;
    389     }
    390 }
    391 // 4.27
    392 #include <iostream.h>
    393 void main()
    394 { 
    395     cout<<" C++程序设计   p103 4.27   第一个图"<<endl<<endl;
    396     for(int i=1;i<=10;i++)
    397     {
    398         for(int j=1;j<=i;j++)
    399             cout<<'*';
    400         cout<<endl;
    401     }
    402     cout<<endl<<" C++程序设计   p103 4.27 第二个图"<<endl<<endl;
    403     for (int a=1;a<=10;a++)
    404     {
    405         for(int b=10;b>=a;b--)
    406             cout<<'*';
    407         cout<<endl;
    408     }
    409     cout<<endl<<" C++程序设计   p103 4.27 第三个图"<<endl<<endl;
    410     for (int c=1;c<=10;c++)
    411     {
    412         for(int d=1;(c-d)>0;d++)
    413             cout<<" ";
    414         for(int e=10;e>=c;e--)
    415             cout<<'*';
    416         cout<<endl;
    417     }
    418     cout<<endl<<" C++程序设计   p103 4.27 第四个图"<<endl<<endl;
    419     for (int f=1;f<=10;f++)
    420     {
    421         for(int g=10;g>=f;g--)
    422             cout<<" ";
    423         for(int h=1;(f-h)>=0;h++)
    424             cout<<'*';
    425         cout<<endl;
    426     }
    427     cout<<endl<<" C++程序设计   p103 4.27 四个图并排输出"<<endl<<endl;
    428     // while的用法和for差不多,最后一个就用while,做一遍
    429     int x=1;
    430     while(x<=10)
    431     {
    432         int a1=1;
    433         while(a1<=x)
    434         {
    435             cout<<'*';
    436             a1++;
    437         }
    438         int b1=10;
    439         while(b1>=x)
    440         {
    441             cout<<" ";
    442             b1--;
    443         }
    444         int b2=10;
    445         while(b2>=x)
    446         {
    447             cout<<'*';
    448             b2--;
    449         }
    450         int a2=1;
    451         while(a2<=x)
    452         {
    453             cout<<" ";
    454             a2++;
    455         }
    456         int a3=1;
    457         while(a3<=x)
    458         {
    459             cout<<" ";
    460             a3++;
    461         }
    462         int b3=10;
    463         while(b3>=x)
    464         {
    465             cout<<'*';
    466             b3--;
    467         }
    468         int b4=10;
    469         while(b4>=x)
    470         {
    471             cout<<" ";
    472             b4--;
    473         }
    474         int a4=1;
    475         while(a4<=x)
    476         {
    477             cout<<'*';
    478             a4++;
    479         }
    480         x++;
    481         cout<<endl;
    482     }
    483     cout<<endl;
    484 }
    485 // 4.28
    486 #include <iostream.h>
    487 int main()
    488 { 
    489     char A,B,C;
    490     int count=1;
    491     for(A='X';A<='Z';A++)
    492         for(B='X';B<='Z';B++)
    493             for(C='X';C<='Z';C++)
    494                 if((A!=B && B!=C && C!=A) && (C!='Y') && (A!='X'))
    495                 {
    496                     cout<<""<<count<<"种名单:"<<endl;
    497                     cout<<"A-"<<A<<endl;
    498                     cout<<"B-"<<B<<endl;
    499                     cout<<"C-"<<C<<endl;
    500                     count++;
    501                 }
    502 }
  • 相关阅读:
    主线程——main线程
    进程和线程概念及原理
    抓取网贷之家的数据爬虫
    感知哈希算法的java实现
    最短路径—Dijkstra算法和Floyd算法
    关于图像特征提取
    hive学习之WordCount单词统计
    pig、hive以及hbase的作用
    zookeeper入门知识
    hadoop文件系统浅析
  • 原文地址:https://www.cnblogs.com/shajianheng/p/2816568.html
Copyright © 2020-2023  润新知