输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
输出格式:
在一行中顺序输出交换后的序列,每个整数后跟一个空格。#include <stdio.h>
{
int i, N, a[10], max, min, t;
scanf("%d\n", &N);
for (i = 0; i < N; i++)
scanf("%d ", &a[i]);
min = a[0], max = a[N - 1];
for (int j = 1; j < N; j++)
if (a[j] < min) a[j] = min, a[0] = t, a[0] = a[j], a[j] = t;
for (int h = 0; h < N - 1; h++)
if (a[h] > max) a[h] = max, a[N - 1] = t, a[N - 1] = a[h], a[h] = t;
for (int k = 0; k < N; k++)
printf("%d ", a[k]);
return 0;
}
#include <stdio.h>
int main()
{
int i, N, a[10], t;
printf("请输入整数N:");
scanf_s("%d", &N);
for (i = 0; i < N; i++)
scanf_s("%d ", &a[i]);
int min = 1000, minIndex;
int max = -1, maxIndex;
for (int j = 1; j < N; j++)
if (a[j] < min)
{
min = a[j];
minIndex = j;
}
for (int h = 0; h < N - 1; h++)
if (a[h] > a[N - 1])
{
max = a[h];
maxIndex = h;
}
// 交换最小值
t = a[0];
a[0] = min;
a[minIndex] = t;
// 交换最大值
t = a[N - 1];
a[N - 1] = max;
a[maxIndex] = t;
for (int k = 0; k < N; k++)
printf("%d ", a[k]);
return 0;
}
输入4、2、1、5、3的时候输出1、2、4、3、5