从键盘输入任意n个数据,n是10以内的数据,用函数编程实现将其最大值最小值位置互换,然后再输出调整后的数据,C语言编程
时间: 2024-10-25 12:17:55 浏览: 30
在C语言中,你可以使用数组和函数来实现这个功能。首先,你需要定义一个函数来获取数组的最大值和最小值的位置,然后交换这两个位置的数据。下面是一个简单的示例代码:
```c
#include <stdio.h>
// 定义函数,接收数组和大小作为参数
void swapMinMax(int arr[], int n) {
if (n <= 1) return; // 如果只有一个元素,无需交换
int max_index = 0;
int min_index = 0;
for (int i = 1; i < n; i++) { // 找到最大和最小值的索引
if (arr[i] > arr[max_index]) max_index = i;
if (arr[i] < arr[min_index]) min_index = i;
}
// 交换最大值和最小值的位置
int temp = arr[max_index];
arr[max_index] = arr[min_index];
arr[min_index] = temp;
}
int main() {
int n;
printf("请输入你想输入的1到10内的整数个数: ");
scanf("%d", &n);
// 确保输入有效
if (n < 1 || n > 10) {
printf("输入错误,请输入1到10之间的整数。\n");
return 1;
}
int data[n]; // 初始化一个足够大的数组
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数字: ", i+1);
scanf("%d", &data[i]);
}
// 调用函数并打印结果
printf("\n原始数据: ");
for (int i = 0; i < n; i++) {
printf("%d ", data[i]);
}
printf("\n");
swapMinMax(data, n); // 调换最大值和最小值位置
printf("交换后的数据: ");
for (int i = 0; i < n; i++) {
printf("%d ", data[i]);
}
printf("\n");
return 0;
}
```
当你运行此程序时,它会提示你输入10以内的一些整数,然后将其中的最大值和最小值互换,并显示调整后的数组。
阅读全文