利用c语言预测比赛结果------培养编程思维

        大家好,我是c语言boom家宝,今天给大家带来的是一个非常有意思的东西,也是培养初学者的编程思维,利用所学的编程语言去解决生活中的一些小问题。现在请看题目:

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

A选手说:B第二,我第三;

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

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

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

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

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

        不知道小伙伴们看到这道题有没有什么思路,博主呢这里就简单分享一下自己的思路,希望能启迪到那些接触编程没有多久的同学尽快把编程融入生活,培养编程思维。

        根据题目,一共有五位选手,所以我们先定义5个变量,分别赋初值为0;

        然后将每个人从第1到第5来一遍,则一共会产生5^5种可能性,这个只需要一个5层循环即可搞定。

        

        题目说每一位选手说的话都有一半是对的,那我们怎么分别定义他说的真话和假话呢。其实很自然的就应该想到计算机中也有判断真假,那就是0为假和非0正整数为真,当然一半默认是1为真。所以每一位选手说的话,有一句假话,值就是0;又有一句真话,值为1。这两句话加在一起的值就是1。然后因为我们是把他放在不停地遍历当中,最后就能达到我们预测比赛结果的效果,代码如下:

 

         来看看编译结果

: 

        

        我们能看到计算机给出了好多答案,这是因为我们没有考虑到会有名次相同的情况,针对这个问题,我们可以加一个if语句判断,例如让a不等于b且b不等于c......。也可以简单一点,如果名次不一样,那就是依次为1、2、3、4、5名次,乘机就为1*2*3*4*5=120。代码如下:

这样我们就能实现目标啦!小伙伴们可以先不用电脑帮忙计算答案,自己通过聪明的大脑分析分析上面的题目,来验证一下电脑有没有做对哈哈哈哈。

        

猜你喜欢

转载自blog.csdn.net/m0_73321818/article/details/131293602
今日推荐