小球从平台上按平台高低程度下落,C语言刚学,希望有一个详细一点的解释

生日当天,小思收到了一个神秘的礼物——一颗小黄球。这颗小黄球有着一个梦想:它想要环游世界,奔赴星辰大海。但是小黄球自感脆弱无助,于是就告诉了小思,希望小思能够帮助它完成梦想。小思为它设计了一个3x3大小的九宫格沙盘,让它在里面自由练习滚动,期盼有朝一日小黄球能够规划出自己的征途,此时便是其启程告别之日。    沙盘外部由无限高的玻璃罩包裹,确保小黄球不会滚出沙盘。沙盘内部由9个可以自由升降的高台组成,每个高台有自己对应的编号(1,2,…9)和对应的高度(不一定是中间高四周低),相邻的高台之间由陡坡连接而成,小球可以在上面自由滚动。小球的每次模拟滚动满足以下规则:①初始起点为九宫格中心(⑤号位)。②小黄球会在四周可滚动方向高台中选择高度最小的一个进行滚动,且不具备爬升能力。③若四周可滚动方向高台中存在多个高台同为可选择中的最小值,则小黄球会犹豫不决,对前程感到迷茫,从而停止在原高台上。且小黄球不会滚向相同高度高台上。请你给出小黄球最终会停止在几号高台上。(对题目有疑惑可翻阅文档末)输入格式:一行不大于100的正整数,一共九个,代表高台①~⑨的高度,中间用空格隔开。输出格式:输出一个正整数,表示最终停留在的高台编号。输入样例1:3 6 8 5 11 7 4 8 3输出样例1:1输入样例2:4 6 8 5 11 7 4 8 3输出样例2:4需要提交的测试数据测试样本1:1 3 6 4 10 5 6 2 3测试样本2:5 1 5 2 5 3 5 4 5测试样本3:7 2 4 10 7 10 4 2 6测试样本4、5在代码上交后由评审测试。

就是在3*3矩阵中,从中心开始往四周找最低点,然后再找该最低点四周的最低点,直到没有低于该点的四周点,或者四周点中有多个最低点

int a[3][3];

int func(int *si,int *sj)
{
    int i = *si;
    int j = *sj;
    int min = a[*si][*sj];
    int mincount = 0;
    if(i>0 && a[i-1][j] <= min)
    {
        if(a[i-1][j] < min)
        {
            min = a[i-1][j];
            *sj = j;
            *si = i-1;
            mincount = 1;
        }
        else
            mincount=2;
    }
    if(i<2 && a[i+1][j] <= min)
    {
        if(a[i+1][j] < min)
        {
            min = a[i+1][j];
            *sj = j;
            *si = i+1;
            mincount = 1;
        }
        else
            mincount=2;
    }
    if(j>0 && a[i][j-1] <= min)
    {
        if(a[i][j-1] < min)
        {
            min = a[i][j-1];
            *sj = j-1;
            *si = i;
            mincount = 1;
        }
        else
            mincount=2;
    }
    if(j<2 && a[i][j+1] <= min)
    {
        if(a[i][j+1] < min)
        {
            min = a[i][j+1];
            *sj = j+1;
            *si = i;
            mincount = 1;
        }
        else
            mincount=2;
    }
    return mincount;
}

int main()
{
    int i,j;
    int si=1,sj=1;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
    while(func(&si,&sj)==1);
    printf("%d\n",(si+1)*3+sj+1);
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632