码迷,mamicode.com
首页 > 其他好文 > 详细

跳水运动员预测比赛结果排名次问题

时间:2015-12-14 12:41:50      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:c语言基本for循环程序举例详解

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果

A选手说:B第一,我第三。

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

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

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

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

比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

  1. 可以并列:

#include<stdio.h>

#include<stdlib.h>

 main()

{

int a, b, c, d, e = 0;

int flag=0;

for (a = 1; a < 6; a++)

{

for (b = 1; b < 6; b++)

{

for (c = 1; c < 6; c++)

{

  for (d = 1; d < 6; d++)

{

for (e = 1; e < 6; e++)

{

if ((b == 1) + (a == 3) == 1 && (b == 2) + (e == 4) == 1 && (c == 1) + (d == 2) == 1 && (c == 5) + (d == 3) == 1 && (e == 4) + (a == 1) == 1)

{

printf("a=%d,b=%d,c=%d,d=%d,e=%d\n", a, b, c, d, e);

flag++;

}

}

}

}

}

}

if (flag == 0) printf("Not find.\n");

system("pause");

 }

2.不可并列

#include<stdio.h>

#include<stdlib.h>

 main()

{

int a, b, c, d, e = 0;

int flag=0;

for (a = 1; a < 6; a++)

{

for (b = 1; b < 6; b++)

{

if (b == a) continue;

for (c = 1; c < 6; c++)

{

if (c == b || c == a) continue;

  for (d = 1; d < 6; d++)

  {

  if (d == c || d == b || d == a) continue;

for (e = 1; e < 6; e++)

{

if (e == d || e == c || e == b || e == a) continue;

if ((b == 1) + (a == 3) == 1 && (b == 2) + (e == 4) == 1 && (c == 1) + (d == 2) == 1 && (c == 5) + (d == 3) == 1 && (e == 4) + (a == 1) == 1)

{

printf("a=%d,b=%d,c=%d,d=%d,e=%d\n", a, b, c, d, e);

flag++;

}

}

}

}

}

}

if (flag == 0) printf("Not find.\n");

system("pause");

 }


本文出自 “sherry wang” 博客,请务必保留此出处http://940814wang.blog.51cto.com/10910665/1722618

跳水运动员预测比赛结果排名次问题

标签:c语言基本for循环程序举例详解

原文地址:http://940814wang.blog.51cto.com/10910665/1722618

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!