牵风 发表于 2021-11-9 15:34:50

为什么不能输出最小值

#include <stdio.h>

int main() {
        int a;
        int n,i;
        int max=a,min=a;

        scanf("%d",&n);
        for(i=1; i<=n; i++) {
                scanf("%d",&a);

                if(a<min)min=a;

                if(a>max)max=a;


        }
        printf("%d %d %d",max-min,max,min);

        return 0;
}

jackz007 发表于 2021-11-9 15:55:35

本帖最后由 jackz007 于 2021-11-9 15:57 编辑

#include <stdio.h>

int main(void)
{
      int a , i , n , max , min             ;
      scanf("%d" , & n)                            ;
      for(i = 0 ; i < n ; i ++) {
                scanf("%d" , & a)               ;
                if(i == 0) max = min = a          ; // 必须在有了 a 之后才可以为 max 和 min 赋初值
                else if(a > max) max = a       ;
                else if(a < min) min = a       ;
      }
      printf("%d %d %d\n" , max - min , max , min) ;
}
      编译、运行实况
D:\0002.Exercise\C>g++ -o x x.c

D:\0002.Exercise\C>x
10
5 7 25 3 98 9 235 13 28 113
232 235 3

D:\0002.Exercise\C>
页: [1]
查看完整版本: 为什么不能输出最小值