这个代码哪里出错了呢,求最大最小,

#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n];
int i=1;
for(;i<=n;i++)
{
scanf("%d",&a[i]);
}
int b,u;
for(i=1;i<n;i++)
{
for(u=n;u>1;u--)
{
if(a[u]>a[u-1])
{
b=a[u];
a[u]=a[u-1];
a[u-1]=b;
}
}
}
printf("%d %d",a[1],a[n]);
return 0;
}
求n个数中最大,最小,这个代码哪里错了
先是输出最大,然后输出最小

求最大,最小,你就定义2个变量来存最大最小
不要冒泡排序
另:数组是从0开始的,你要取a[0],不是a[1]

如果有帮助的话,请点击右上角【采纳】按钮,支持一下!!



#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n];
    int i=0;
    for(i;i<n;i++)
    {
     scanf("%d",&a[i]);
    }

    int b,u;
    for(i=0;i<n;i++)
    {
        for(u=n -1 ;u>=1;u--)
        {
        if(a[u]>a[u-1])
        {
            b=a[u];
            a[u]=a[u-1];
            a[u-1]=b;
        }
         }
    }

    printf("最大值:%d  \n最小值:%d",a[0],a[n-1]);
return 0;
}

img