m0_62432380 2021-10-13 23:01 采纳率: 92.9%
浏览 27
已结题

要求找出n个数的最大值和最小值,代码运行的不太对,求看看错误在哪

#include<stdio.h>
int main(void)
{
int N,i,a[i],max,min;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
scanf("%d",&a[i]);
max=a[1];
min=a[1];
if(a[i]>max)
{
max=a[i];
}
if(a[i]<min)
{
min=a[i];
}
}
printf("max=%d,min=%d",max,min);
return 0;

}

  • 写回答

3条回答 默认 最新

  • qfl_sdu 2021-10-13 23:04
    关注

    没必要用数组,代码修改如下:

    #include<stdio.h>
    int main(void)
    {
        int N,i,a,max,min;
        scanf("%d",&N);
        for(i=1;i<=N;i++)
        {
            scanf("%d",&a);
            if(i==1)
            {
                max = a;
                min = a;
            }else
            {
                if(max < a)
                    max = a;
                if(min > a)
                    min = a;
            }
            
            
        }
        printf("max=%d,min=%d",max,min);
        return 0;
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月13日