⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 c语言程序跳水排名
💻
字号:
问题描述:5位跳水高手参加10米高台跳水决赛,有好事者让5人据实力预测比赛结果.

         A选手说:B第二,我第三;

         B选手说:我第二,E第四;

         C选手说:我第一,D第二;

         D选手说:C最后,我第三;

         E选手说:我第四,A第一.

         决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错.请编程解出

         比赛的实际名次.

    解答:

       (1)解题的重要一步是要将人的想法表示成机器能够实现的表达式,数学公式或操作

          步骤.

       (2)用计算机解题很多时候涉及到逻辑运算.

       (3)用计算机解题往往从很多种可能性中寻找其中的一种或几种,应此最容易想到的

          是枚举法,枚举法就会遇到大量的重复计算的问题,自然要用到循环结构,我在

          程序中用了五重循环,想不用循环,却没能实现,欢迎大家提供不用循环的更好

          的解法,我的QQ 348653994

        (4)程序在VC++6.0下通过.

                (5)运行结果:

                     A的名次是:3

                     B的名次是:1

                     C的名次是:5

                     D的名次是:2

                     E的名次是:4

    程序原码:

 #include <iostream.h>
void main()
{
 int cc1,cc2,cc3,cc4,cc5;    //cc1到cc5代表5位选手的逻辑判断
 int i,j,k,m,n;             //i,j,k,m,n用于循环控制
 int A,B,C,D,E;            //A,B,C,D,E分别代表5位选手的名次
 int g;                    //问题是否解决的BOOL值
 A=0;B=0;C=0;D=0;E=0;g=0;
 for(i=1;i<=5,A<=4;i++)
 {   A++;
     B=0;
  for(j=1;j<=5,B<=4;j++ )
  {  
     B++;
    if(B==A)
       B++;
     C=0;
     for(k=1;k<=5,C<=4;k++ )
     { C++;
       if(C==A)
         C++ ;
       if(C==B)
         C++;
       D=0;
        for(m=1;m<=5,D<=4;m++ )
     { D++;
       if(D==A)
         D++;
       if(D==B)
         D++;
       if(D==C)
         D++;
          E=0;
       for(n=1;n<=5,E<=4;n++)
     {   E++;
         if(E==A)
          E++;
        if(E==B)
          E++;
        if(E==C)
         E++;
      if(E==D)
        E++;

                cc1=((B==2)&&(!(A==3)))||((!(B==2))&&(A==3));
                cc2=((B==2)&&(!(E==4)))||((!(B==2))&&(E==4));
                cc3=((C==1)&&(!(D==2)))||((!(C==1))&&(D==2));
                cc4=((C==5)&&(!(D==3)))||((!(C==5))&&(D==3));
                cc5=((E==4)&&(!(A==1)))||((!(E==4))&&(A==1));
       if((cc1+cc2+cc3+cc4+cc5)==5)
         {   g=1;
        cout<<"A的名次是:"<<A<<endl;
        cout<<"B的名次是:"<<B<<endl;
        cout<<"C的名次是:"<<C<<endl;
        cout<<"D的名次是:"<<D<<endl;
        cout<<"E的名次是:"<<E<<endl;
    
        }
      }
    }
   }
  }
 }
 
 if(g!=1)
  cout<<"Can't found!"<<endl;
}

 
 
 
        发表评论  

--------------------------------------------------------------------------------
 
 
相关专题:  

--------------------------------------------------------------------------------
 
 
相关信息: 
 
 没有相关信息 

--------------------------------------------------------------------------------
 
 
相关评论: 
 
 
发表人:樊一梵   发表人邮件:fanchongbin@163.net   发表时间:2004-11-14 17:00:58 
 
 
可以永递归来解决,源代码如下:
#include <iostream.h>
void main()
{
 int cc1,cc2,cc3,cc4,cc5;    //cc1到cc5代表5位选手的逻辑判断
 int&nb ....详细内容  

--------------------------------------------------------------------------------
 
发表人:樊一梵   发表人邮件:fanchongbin@163.net   发表时间:2004-11-14 17:04:58 
 
 
不好意思,刚才粘错了

#include <iostream.h>
#define TURE 1
int count = 0;
int num[5] = {0,0,0,0,0};
int used[5 ....详细内容  
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -