c语言使用3个自定义函数和指针变量实现以下功能,成为一个完整程序 输入10个整数 找出10个数中的最大值和最小值,并将10个数按从小到大顺序排好 输出处理好的十个数和最大最小值
时间: 2023-06-03 13:06:27 浏览: 77
C语言实验-有3个整数a,b,c,由键盘输入,输出其中最大的数(或最小的数)。
我可以回答您的问题。以下是您所要求的程序:
```c
#include <stdio.h>
void find_max_min(int *arr, int len, int *max, int *min);
void sort_array(int *arr, int len);
void print_array(int *arr, int len, int max, int min);
int main(void) {
int arr[10], max, min;
int i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
find_max_min(arr, 10, &max, &min);
sort_array(arr, 10);
print_array(arr, 10, max, min);
return 0;
}
void find_max_min(int *arr, int len, int *max, int *min) {
int i;
*max = *min = arr[0];
for (i = 1; i < len; i++) {
if (arr[i] > *max) {
*max = arr[i];
} else if (arr[i] < *min) {
*min = arr[i];
}
}
}
void sort_array(int *arr, int len) {
int i, j, temp;
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (arr[j] < arr[i]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
void print_array(int *arr, int len, int max, int min) {
int i;
printf("处理后的十个数为:\n");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
}
```
通过这个程序,您可以输入10个整数,并在屏幕上显示这10个数的最大值和最小值,以及从小到大排列后的10个数。希望这个程序对您有帮助。
阅读全文