大学生新闻网,大学生新闻发布平台
大学生新闻网
大学生新闻大学生活校园文学大学生村官
社会实践活动社会实践经历社会实践报告社会实践总结社会实践心得
全国排名校友会版软科排名分类排名本科排名一本排名二本排名专科排名学校地址
求职简历职场法则面试技巧职场故事求职招聘大学生就业
英语学习计算机学习电气工程机械工程经济管理建筑设计财务会计
申请书证明书检讨书自荐信演讲稿心得体会调查报告读后感求职信推荐信其它范文

C语言谁家孩子跑得最慢

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

算法思想
按题目的条件,共有 1+2+3+…+9=45 分,每家孩子的得分应为 15 分。根据题意可知,获第一名的是李家的孩子,获第二名的是王家的孩子,则可推出:获第三名的一定是张家的孩子。由“这些孩子没有同时到达终点的”可知:名次不能并列,由“没有一家的两个或三个孩子获得相连的名次”可知:第四名不能是张家的孩子。
程序代码
#include <stdio.h>
int score[4][4];
int main()
{
    int i,j,k,who;
    score[1][1]=7;
    score[2][1]=8;
    score[3][1]=9;
    for(i=4;i<6;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("\n"))
                    for(j=1;j<=3;j++)
                    {
                        printf("%d",score[i][j]);
                        if(score[i][j]==1)
                            who=i;
                    }
                    if(who==1)
                        printf("最后一名是张家孩子\n");
                    else if(who==2)
                        printf("最后一名是王家孩子\n");
                    else
                        printf("最后一名是李家孩子\n");
                    return 0;
}
调试运行结果
根据算法思想,通过程序的运行得到结果如下所示:
753
861
942
最后一名是王家孩子
总结
本实例主要运用了二维数组的引用和循环的嵌套。二维数组元素的引用形式为“数组名[下标1][下标2]”。例如“a[1][2]”其下标是可以大于或者等于 0 的整型常量、整型变量或者整型表达式。


引用二维数组元素时,下标不要越界,也就是说下标值需要从 0 开始,但不要超过行、列的范围。
    作者:大学生新闻网    来源:大学生新闻网
    发布时间:2025-03-09    阅读:
    扫一扫 分享悦读
  • C语言获取矩阵的最大值及其下标
  • 本实例要求使用二维数组将一个 3×4 的矩阵中所有元素的最大值及其下标获取,通过该程序,掌握二维数组的引用知识。
  • 03-09 关注:0
  • C语言谁家孩子跑得最慢
  • 张、王、李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得 9 分,跑第二得 8 分,依次类推。
  • 03-09 关注:0
  • C语言狼追兔子问题
  • 一只兔子躲进了 10 个环形分布的洞的某一个,狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找
  • 03-09 关注:0
  • C语言兔子生兔子问题
  • 假设一对兔子的成熟期是一个月,即一个月可长成成兔,那么,如果每对成兔每个月都生一对小兔
  • 03-09 关注:0
  • C语言矩阵转置
  • 本实例是利用数组解决线性代数中的矩阵转置问题。
  • 03-09 关注:0
  • C语言求回文素数
  • 任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求 1000 以内的所有回文素数。
  • 03-09 关注:0