用c语言写一个程序输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。要求使用指针作为参数以传递数据。
时间: 2023-12-04 07:19:42 浏览: 16
好的,下面是 C 语言的程序实现:
```c
#include <stdio.h>
void input(int *arr);
void process(int *arr);
void output(int *arr);
int main() {
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
void input(int *arr) {
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
void process(int *arr) {
int *max = &arr[0], *min = &arr[0];
for (int i = 1; i < 10; i++) {
if (arr[i] > *max) {
max = &arr[i];
}
if (arr[i] < *min) {
min = &arr[i];
}
}
int tmp = arr[0];
arr[0] = *min;
*min = tmp;
tmp = arr[9];
arr[9] = *max;
*max = tmp;
}
void output(int *arr) {
printf("处理后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
```
程序中定义了三个函数:
- `input`:用于输入 10 个整数,将它们保存到数组中;
- `process`:用于处理数组,找到最大值和最小值,将最小值与第一个数交换,将最大值与最后一个数交换;
- `output`:用于输出处理后的数组。
注意到,`input`、`process` 和 `output` 函数都采用指针作为参数,以便于传递数组数据。
阅读全文