论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

跳水排名

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:43:42

  问题描述: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;
}

上一篇:{实例}用C实现exp函数 人气:6443
下一篇:{实例}卖桃子 人气:5828
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058