c语言求跳水运动员成绩,跳水排名_C语言编程实例_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

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))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值