练习题谁家小孩跑最慢

题目描述

张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。问获得最后一名的是谁家的孩子?

解题思路

本题中判断最后一名可以分两个分支,由于第一是李家的孩子第二是王家的孩子,所以在这里我假设第一个分支为最后一名是李家的孩子,假设第二个分支为最后一名是王家的孩子。然后再循环判断这两个分支是否成立,若都不成立则最后一名为张家的孩子。

输出格式

输出最后一名的那家的姓的一个字母且以大写输出(若为张家,则输出Z)

附源码

#include<iostream>
#include<cmath>
#define OK 1
#define NO 0
using namespace std;
int judgement(int i)
{
 int temp;
 int flag=0;
 int mid;
	if(i==1)
	{
		temp=5;
		for(int j=2;j<6;j++)
		{
			 mid=7-j;
			if(fabs(mid-j)==1||mid==temp||j==temp)
			continue;
			else 
			{
			flag=1;
			break;   
			}                                  		
		}
	 } 
  if(i==2)
  {
    temp=6;
  	for(int j=2;j<7;j++)
  	{
  		 mid=6-j;
  		 if(fabs(mid-j)==1||mid==temp||j==temp)
  		 continue;
			else 
			{
			flag=1;
			break;   
			}       
	  }
  }
if(flag==1)
return OK;
else return NO;
}
int main()
{

if(judgement(1))
cout<<"L";
else if(judgement(2))
cout<<"W";
else
cout<<"Z";
	return 0;
 } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

James Buchanan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值