利用swap函数实现从键盘输入10个整数,利用模块化的程序思想,用函数编程实现计算最大值和最小值,并互换它们所在数组中的位置
时间: 2024-03-11 15:48:16 浏览: 237
好的,下面是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void findMinMax(int arr[], int n, int *min, int *max) {
*min = arr[0];
*max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < *min) {
*min = arr[i];
}
if (arr[i] > *max) {
*max = arr[i];
}
}
}
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
printf("请输入第%d个整数:", i+1);
scanf("%d", &arr[i]);
}
int min, max;
findMinMax(arr, 10, &min, &max);
printf("最小值:%d,最大值:%d\n", min, max);
for (int i = 0; i < 10; i++) {
if (arr[i] == min) {
swap(&arr[i], &arr[0]);
}
if (arr[i] == max) {
swap(&arr[i], &arr[9]);
}
}
printf("交换后的数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
需要注意的是,我们在函数中使用指针来获取最大值和最小值,这样可以在函数外部修改它们的值。同时,在交换位置时,我们需要遍历整个数组,找到最大值和最小值所在的位置,然后再进行交换。
阅读全文