#include <stdio.h> int main() { int m,n,i,t; sca

#include int main() { int m,n,i,t; scanf("%d",&n); int a[n]; for(i=0;i<=n-1;i++) { scanf("%d",&m); a[i]=m; } for(i=0;i<=n-1;i++) { if(a[i]>=a[i+1]) { t=a[i+1]; a[i+1]=a[i]; a[i]=t; } } printf("%d",a[n-1]); return 0; } 以上是要求先输入一个整数n,决定接下来输入几个数。比如输入4是要求接下来输入4个数,输入n就是接下来输入n个数。然后求出这n个数中的最大值。 下面图片是带入几个数结果求不出来,[face]monkey2:053.png[/face]我看不出错误,调试调试更蒙圈了。求解答。🙏

比较大小的循环多走了一步:for (i = 0; i <= n - 1; i++)应该到n-2就结束了,因为没有a[n]。改成如下就好了。

#include<stdio.h>

int main() {
    int m, n, i, t;
    scanf("%d", &n);
    int a[n];
    for (i = 0; i <= n - 1; i++) {
        scanf("%d", &m);
        a[i] = m;
    }
    for (i = 0; i < n - 1; i++) {
        if (a[i] >= a[i + 1]) {
            t = a[i + 1];
            a[i + 1] = a[i];
            a[i] = t;
        }
    }
    printf("%d", a[n - 1]);
    return 0;
}