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;
}
printf("%s", a);
return 0;
}
交换逻辑不太对,然后你最后也没输出
#include <stdio.h>
int main()
{
int a[5];
int i, t=0, 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){
max = a[i];
t = i;
}
}
int tem=a[0];
a[0] = a[t];
a[t] = tem;
t = 4;
for (i = 0; i < 5; i++) {
if (a[i] < min){
t = i;
min = a[i];
}
}
tem = a[4];
a[4] = a[t];
a[t] = tem;
for(i=0;i<5;i++)
printf("%d ",a[i]);
return 0;
}