程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言實現之運動員跳水名次問題

C語言實現之運動員跳水名次問題

編輯:關於C
5位運動員參加了10米台跳水比賽,有人讓他們預測比賽結果 A選手說:B第一,我第三。 B選手說:我第二,E第四。 C選手說:我第一,D第二。 D選手說:C最後,我第三。 E選手說:我第四,A第一。 比賽結束後,每位選手都說對了一半,請編程確定比賽的名次。   代碼實現:
#include <stdio.h>
int main()
{
 int a=0,b=0,c=0,d=0,e=0;
 int flag=0;
 int ret=0;
 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++)
     {
      if((1==(b==1)+(a==3))&&
         (1==(b==2)+(e==4))&&
         (1==(c==1)+(d==2))&&
         (1==(c==5)+(d==3))&&
         (1==(e==4)+(a==1)))
      {
       flag=0;
       ret=0;
       ret|=(1<<(a-1));
       ret|=(1<<(b-1));
       ret|=(1<<(c-1));
       ret|=(1<<(d-1));
       ret|=(1<<(e-1));
       while(ret)
       {
        if(ret%2==0)
        {
         flag=1;
         break;
        }
        ret/=2;
         
       }
       if(flag==0)
        {
         printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e);
        }
      }
     }
    }
   }
  }
 }
 return 0;
}

 

結果是:a=2 b=1 c=1 d=3 e=4
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved