谁家孩子跑得最慢

编程入门 行业动态 更新时间:2024-10-26 04:23:31

谁家孩子<a href=https://www.elefans.com/category/jswz/34/1681941.html style=跑得最慢"/>

谁家孩子跑得最慢

问题描述:

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

思考一:

三家孩子总分数相同都是:(1+2+.....+9)/3=15

思考二:

第一名的是李家的孩子,获得第二的是王家的孩子:第三一定是张家,否则其他两家分数超过15

思考三:

也没有一家的孩子获得相连的名次:所以第四的不是张家的

算法设计:

二维数组:张家score[1][1],score[1][2],score[1][3],王家score[2][1],score[2][2],score[2][3],李家score[3][1],score[3][2],score[3][3]

约束条件:

1)score[1][1]=7,score[2][1]=8,score[3][1]=9

2)score[1][2]!=6

3)score[1][2]!=score[2][2]!=score[3][2],score[1][3]!=score[2][3]!=score[3][3]

*程序说明与注释
#include<stdio.h>
int score[4][4];
int main()
{
int i,j,k,who;//i,j,k代表三家的跑二个的孩子
score[1][1]=7;
score[2][1]=8;
score[3][1]=9;
for(i=4;i<6;i++) /*i:张家孩子不是第四*/
for(j=4;j<7;j++)
for(k=4;i!=j&&k<7;k++)
if(k!=i&&k!=j&&15-i-score[1][1]!=15-j-score[2][1]&&15-i-score[1][1]!=15-k-score[3][1]&&15-j-score[2][1]!=15-k-score[3][1])//第二三名不并列
{
score[1][2]=i;score[1][3]=15-i-7; /*将满足条件的结果记入数组*/
score[2][2]=j;score[2][3]=15-j-8;
score[3][2]=k;score[3][3]=15-k-9;
}
for(who=0,i=1;i<=3;i++,printf(" "))
for(j=1;j<=3;j++)
{
printf("%d",score[i][j]); /*输出各家孩子的得分情况*/
if(score[i][j]==1)who=i; /*记录最后一名的家庭序号*/
}
if(who==1) /*输出最后判断的结果*/
printf("The last one arrived to end is a child from family Zhang. ");
else if(who==2)
printf("The last one arrived to end is a child from family Wang. ");
else printf("The last one arrived to end is a child from family Li. ");
}


 

 

更多推荐

谁家孩子跑得最慢

本文发布于:2023-06-25 23:17:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/885806.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:跑得   最慢   孩子

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!