大家好,我有一个问题,这里我想实现将数组里最大的一个值和第一个元素的值交换,最小的值最后一个元素交换。我想到的方法是将数组元素中的第一个值设定为最大值,最后一个设定为最小值,但是运行却没有结果,想问问大家,我这个代码错在了哪里。谢谢大家
#include <stdio.h>
int main() {
int a[5];
int i, t, max, min;
for (i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
max = a[0];
min = a[4];
for (i = 0; i < 5; i++) {
if (a[i] > max)
t = i;
}
if (t != 0) {
a[0] = a[t];
a[t] = max;//最大值就是第一个数组元素的
值没变过直接用来赋值
}
t = 0;
for (i = 0; i < 5; i++) {
if (a[i] < min)
t = i;
}
if (t != 4) {
a[4] = a[t];
a[t] = min;//最小值的想法同最大值
}
return 0;
}