逻辑推理与判断(谁家孩子跑得快)

来源:互联网 发布:ios手环推荐 知乎 编辑:程序博客网 时间:2024/06/09 19:03
/**************************************** *  File Name  : reasoning.c *  Creat Data : 2015.1.27*  Author     : ZY *****************************************/ /*逻辑推理与判断*//*谁家孩子跑得快*//*张,王,李三家各有一个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第二得8分,依次类推,比赛结果各家总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次,已知获第一的是李家的孩子,获得第二的是王家的孩子,问获得最后一名的是谁家的孩子?可知总分为45,则各家15分用矩阵输出*/#include <stdio.h>int main(void){int i,j,k,who;int score[4][4];score[1][1] = 7;//score[1],张家孩子的得分score[2][1] = 8;//score[2],王家孩子的得分score[3][1] = 9;//score[3],李家孩子的得分for(i = 4;i < 6;i++)//i:张家孩子在4到5分段可能的分数{for(j = 4;j < 7;j++)//j:王家孩子在4到6分段可能的分数{for(k = 4;i != j &&k < 7;k++)//k:李家孩子在4到6分段可能的分数{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 < 4;i++,printf("\n")){for(j = 1;j < 4;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.\n");}else if(who == 2){printf("The last one arrived to end is achild from family Wang.\n");}else{printf("The last one arrived to end is achild from family Li.\n");}return 0;}

0 0
原创粉丝点击