这个错在哪里啊看不出来

//定义一个int数组,求数组中最大元素的值
#include <stdio.h>
#define N 10
int main()
{
int i,j,t;
int a[N]={0};
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("%d\n",a[0]);
return 0;
}

img

如有用请采纳

#include <stdio.h>
#define N 10
int main()
{
    int i,j,t;
    int a[N]={0};
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<N-1;i++)
    {
        for(j=0;j<N-1-i;j++)
        {
            if(a[j]<a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    printf("%d\n",a[0]);
    return 0;
}

为什么求一个一维数组的数据的最大元素,需要用两重循环?

我也是在学习,感觉你要输入数组的值,但你int a[N]={0}这个={0}的初始化的问题吧。