四大湖问题

来源:互联网 发布:js点击图片播放视频 编辑:程序博客网 时间:2024/04/28 00:38
Code:
  1. 【任务一】   
  2. 我国有四大淡水湖。   
  3. A 说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。   
  4. B 说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。   
  5. C 说:洪泽湖最小,洞庭湖第三。   
  6. D 说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。   
  7. 4个人每个人仅答对一条,请从大到小输出四大湖的名称。   
  8. 【代码详情】   
  9. #include<iostream>                              //预编译命令   
  10. using namespace std;    
  11. int main()                                          //主函数   
  12. {                                               //主函数开始   
  13.     int Dt,Hz,Py,Th,sum[4]={0};     //定义变量   
  14.     char lake[5][10];   
  15. //Dt表示洞庭湖,Hz表示洪泽湖,Py表示鄱阳湖,Th表示太湖   
  16. //穷举四大湖排名的所有可能,用1、2、3、4分别来表示它们的大小关系   
  17. //1最大,4最小   
  18.     for(Dt=1; Dt<=4; Dt++)   
  19.     {   
  20.         for(Hz=1; Hz<=4; Hz++)   
  21.         {   
  22.             if(Dt==Hz) continue;//湖的面积各不相同   
  23.             for(Py=1; Py<=4; Py++)   
  24.             {   
  25.                 if(Py==Hz || Py==Dt) continue;//湖的面积各不相同   
  26.                     Th=10-Dt-Hz-Py;//计算太湖的排名   
  27.        
  28.                 sum[0]= (1==Dt) + (4==Hz) + (3==Py);//A说的话   
  29.                 sum[1]= (1==Hz) + (4==Dt) + (2==Py) + (3==Th);//B说的话   
  30.                 sum[2]= (4==Hz) + (3==Dt);//C说的话   
  31.                 sum[3]= (1==Py) + (4==Th) + (2==Hz) + (3==Dt);//D说的话   
  32.                    
  33.                 if(sum[0]==1 && sum[1]==1 && sum[2]==1 && sum[3]==1)   
  34.                 {   
  35.                     strcpy (lake[Dt], "洞庭湖");//按排名赋值   
  36.                     strcpy (lake[Hz], "洪泽湖");   
  37.                     strcpy (lake[Py], "鄱阳湖");   
  38.                     strcpy (lake[Th], "太湖");   
  39.                 }   
  40.   
  41.             }   
  42.         }   
  43.     }   
  44.     for(int i=1;i<=4;i++)   
  45.     {   
  46.         cout<<lake[i]<<endl;//从大到小输出   
  47.     }   
  48.     return 0;//主函数结束   
  49. }  

原创粉丝点击