您当前的位置:首页 > 计算机 > 编程开发 > C语言

跳水名将

时间:01-03来源:作者:点击数:

问题描述:5位跳水高手参加10米高台跳水决赛,有好事者让5人据实力预测比赛结果.
         A选手说:B第二,我第三;
         B选手说:我第二,E第四;
         C选手说:我第一,D第二;
         D选手说:C最后,我第三;
         E选手说:我第四,A第一.

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

#include <iostream.h>
void main()
{
int cc1,cc2,cc3,cc4,cc5;    //cc1到cc5代表5位选手的逻辑判断
int A,B,C,D,E;            //A,B,C,D,E分别代表5位选手的名次
int g;                    //问题是否解决的BOOL值
for(A=1; A<=5; A++)
  for(B=1; B<=5; B++)

  {for(C=1; C<=5; C++)
  {for(D=1; D<=5; D++)

    { for(E=1; E<=5; 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)&&(A!=B)&&(A!=C)&&(A!=D)&&(A!=E)&&(B!=C)&&(B!=D)&&(B!=E)&&(C!=D)&&(C!=E)&&(D!=E))
    {  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;

}

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门