幼稚园的树C语言代码

在幼稚园做义工,幼稚园中共有 n 颗树,第 1 天中午时它们的高度分别为:h1,h2,…,hnh_1,h_2,…,h_nh1​,h2​,…,hn​ (单位:厘米)。
每一天的晚上每棵树的高度都会增加 a 厘米,任务则是在第二天的清晨检查每一颗树的高度,若某颗树的高度超过了 k 厘米就会将它的高度修剪为 b 厘米
请你计算一下第 m 天中午每一颗树的高度。
求指正

#include
int main()
{
int t=0,n=0,a=0,b=0,k=0,h[1001]={0},i=0,m=0,j=0,p=0;
    scanf("%d",&t);
for(i=0;i"%d",&n);
    for(j=0;j"%d",&h[j]);
    scanf("%d %d %d",&a,&k,&b);
    scanf("%d",&m);
    for(j=0;jfor(p=0;pif(h[j]>k)
            h[j]-=b;
    }

for(j=0;j"%d ",h[i]);
    printf("\n");
}
return 0;
}



参考GPT和自己的思路:

这段代码看起来没有明显的错误,可以正常运行。但是建议在输入和输出的时候加上相应的提示信息,以便更清楚地了解程序的运行状态。另外,数组的大小是固定的,如果输入的n超过了1001就会出现越界访问的问题。可以改用动态内存分配来解决这个问题。

参考:https://blog.csdn.net/qq_73973905/article/details/128071801

有两个错误:

  1. 题目说的是修建为b厘米,而你写的是h[j]-=b(18行),剪短b厘米,应该改为h[j]=b;
  2. 最后输出的时候(21~24行),应该输出h[j],你输出的是h[i]。