写一个C语言程序,将输入的十个整数,将最小值与第一个数交换,将最大值与最后一个数交换,然后输出交换后的n个数
时间: 2024-02-21 12:58:48 浏览: 65
交换最大、最小值.c
以下是您所需的C语言程序:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
int min_index = 0, max_index = 0;
// 获取输入的十个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
if (nums[i] < nums[min_index]) {
min_index = i; // 找到最小值的位置
}
if (nums[i] > nums[max_index]) {
max_index = i; // 找到最大值的位置
}
}
// 将最小值与第一个数交换
swap(&nums[0], &nums[min_index]);
// 如果最大值在第一个位置,需要重新找到最大值的位置
if (max_index == 0) {
max_index = min_index;
}
// 将最大值与最后一个数交换
swap(&nums[9], &nums[max_index]);
// 输出交换后的十个数
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
注意,本程序假定输入的十个整数都不同。如果有两个或多个数相同,可能会导致最小值或最大值的位置不准确,从而导致程序输出错误的结果。
阅读全文