并改正此程序
时间: 2023-12-18 15:03:01 浏览: 34
下面是已经修改过的程序:
```
#include <stdio.h>
void input(int a[]) {
int i;
printf("请输入10个数:\n");
for(i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int a[], int size) {
int *max = a, *min = a;
int *p;
for(p = a + 1; p < a + size; p++) {
if(*p < *min) {
min = p;
}
if(*p > *max) {
max = p;
}
}
swap(a, min);
swap(a + size - 1, max);
}
void output(int a[], int size) {
int *p;
for(p = a; p < a + size; p++) {
printf("%d ", *p);
}
printf("\n");
}
int main() {
int a[10];
input(a);
sort(a, 10);
output(a, 10);
return 0;
}
```
修改后的程序做了如下改动:
1. 将输入、排序、输出三个函数拆开,分别定义为 `input`、`sort`、`output` 函数,提高了代码的可读性。
2. 在 `sort` 函数中,使用指针变量分别指向最大值和最小值,遍历数组查找最大值和最小值,然后通过 `swap` 函数交换最大值和最小值,从而完成排序。
3. 在 `output` 函数中,每个元素输出后使用空格分隔,使得输出结果更加美观。
4. 函数声明和函数定义中,形参的数组大小已统一改为 `size`,并在 `main` 函数中调用时传入相应的数组大小,以提高代码的一致性。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)