C语言代码,现有n个数组成的数列,从中找出最小的数与第一个数交换,最大的数与最后一个数交换,从而构成一个新数列,并输出这个数列
时间: 2024-01-22 19:04:23 浏览: 74
好的,以下是基于你的要求编写的C语言代码:
```c
#include <stdio.h>
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int n;
printf("请输入数列长度n:");
scanf("%d", &n);
int nums[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 找出最小值并交换
int min_index = 0;
for (int i = 1; i < n; i++) {
if (nums[i] < nums[min_index]) {
min_index = i;
}
}
swap(&nums[0], &nums[min_index]);
// 找出最大值并交换
int max_index = 0;
for (int i = 1; i < n; i++) {
if (nums[i] > nums[max_index]) {
max_index = i;
}
}
swap(&nums[n-1], &nums[max_index]);
// 输出新数列
printf("新数列:");
for (int i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
这个程序会先让你输入数列的长度n和n个整数,然后找出最小值和最大值并交换,最后输出新的数列。注意,这个程序只能处理n个整数的数列,不能处理不定长的数列。
阅读全文