输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写出三个函数:1.输入10个·数;2.进行处理3.输出十个数 C语言实现
时间: 2023-08-29 11:07:30 浏览: 69
以下是C语言实现的代码:
```c
#include <stdio.h>
void input(int arr[], int n); // 输入函数
void swap(int *a, int *b); // 交换函数
void process(int arr[], int n); // 处理函数
void output(int arr[], int n); // 输出函数
int main() {
int arr[10];
input(arr, 10);
process(arr, 10);
output(arr, 10);
return 0;
}
void input(int arr[], int n) {
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void process(int arr[], int n) {
int max_index = 0, 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;
}
}
swap(&arr[0], &arr[min_index]); // 将最小的数与第一个数对换
swap(&arr[n-1], &arr[max_index]); // 将最大的数与最后一个数对换
}
void output(int arr[], int n) {
printf("处理后的结果为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
```
注意,我们在交换函数中使用了指针,来实现交换的功能。对于处理函数,我们需要先找到最大值和最小值的下标,然后再进行交换。最后输出处理后的结果。
阅读全文