我的代码
#include <stdio.h>
int main()
{
int i,a[8],max=a[0],min=a[0];
printf("请输入八个整数:");
for(i=0;i<=7;i++)
scanf("%d",&a[i]);
for(i=7;i>=0;i--)
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<=7;i++)
{
max=(max<a[i])?a[i]:max;
min=(min>a[i])?a[i]:min;//求最小值
}
printf("最大值为%d,最小值为%d\n",max,min);
return 0;
}
max=a[0],min=a[0];放到scanf之后,你现在放的位置,a数组还没有赋值啊
#include <stdio.h>
int main()
{
int i,a[8],max,min;
printf("请输入八个整数:");
for(i=0;i<=7;i++)
scanf("%d",&a[i]);
max = min= a[0];
for(i=7;i>=0;i--)
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<=7;i++)
{
max=(max<a[i])?a[i]:max;
min=(min>a[i])?a[i]:min;//求最小值
}
printf("最大值为%d,最小值为%d\n",max,min);
return 0;
}
先输入,再max=min=a[0]
因为你在没有给数组a赋值的情况下就把a [0]的值赋给了max和min, 这导致他们都是乱码, 把max和min的赋初值放在给a赋值之后