回答:你的代码逻辑没啥问题,主要就是初始化的时候没用对最大值最小值进行很好的设定,一是没用对进行清0,二是那时候数组里面的值开头的值不能够作为最小值或者最大值,应该选择int类型的最大值和最小值作为最小值和最大值
代码如下:
# include <stdio.h>
int main()
{
int src[10] = { };
int i;
for (i = 0; i < 10; i++)
{
printf("%d ", src[i]);
}
printf("\n");
int sum = 0, max, min;
float ave;
// max = min = src[0];
max = -100000;
min = 100000;
for (i = 0; i < 10; i++)
{
printf("输入第%d个值: ", i + 1);
scanf("%d", &src[i]);
printf("%-4d ", src[i]);
printf("\n");
sum += src[i];
printf("和是: %d", sum);
if (src[i] > max)
{
max = src[i];
}
if (src[i] < min)
{
min = src[i];
}
printf(" 最大值是: %d 最小值是: %d", max, min);
printf("\n");
}
ave = sum / 1.0;
printf("平均值是: %.2f", ave);
}
此时你还没有给数组赋值呢,先给数组赋值再令max=min=scr[0]