用C实现从键盘输入10个不同的整数存入一个数组中,用函数编程将其中的最大数与最小数位置互换,分别输出互换之前最大值和最小值及其在数组中的位置,以及互换后的数组 输入提示信息:"Input 10 numbers:" 输入格式:"%d" 最大值输出提示信息:"Max element position:%d,Max element:%d\n" 最小值输出提示信息:"Min element position:%d,Min element:%d\n" 数组输出提示信息:"Exchange results:" 数组输出格式:"%4d"
时间: 2023-07-07 12:24:12 浏览: 190
好的,以下是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void exchange(int arr[], int n) {
int max_pos = 0, min_pos = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_pos]) {
max_pos = i;
}
if (arr[i] < arr[min_pos]) {
min_pos = i;
}
}
printf("Max element position:%d,Max element:%d\n", max_pos, arr[max_pos]);
printf("Min element position:%d,Min element:%d\n", min_pos, arr[min_pos]);
swap(&arr[max_pos], &arr[min_pos]);
}
int main() {
int arr[10];
printf("Input 10 numbers:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
exchange(arr, 10);
printf("Exchange results:");
for (int i = 0; i < 10; i++) {
printf("%4d", arr[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个 `swap` 函数,用于交换两个整数的值。然后定义了一个 `exchange` 函数,用于找到数组中的最大值和最小值,并将它们的位置互换。最后在 `main` 函数中,我们输入了 10 个整数,调用 `exchange` 函数进行互换,最后输出结果。
阅读全文