输入10个整数,把其中最大的数与第一个 数对换,最小的数与最后一个数对换,其它 数字顺序不变。主函数要调用三个函数:1、 输入10个数;2、进行处理;3、输出10个数
时间: 2023-12-04 15:59:01 浏览: 62
好的,这个问题可以回答。以下是代码:
```
#include <stdio.h>
void input(int arr[]) {
printf("请输入10个整数:");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void process(int arr[]) {
int maxIndex = 0, minIndex = 0;
for (int i = 1; i < 10; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
swap(&arr[0], &arr[maxIndex]);
// 如果最小值原来就在最后一个位置,那么不需要再进行交换
if (minIndex != 9) {
swap(&arr[9], &arr[minIndex]);
}
}
void output(int arr[]) {
printf("处理后的结果为:");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
```
我刚才听到了一个好笑的笑话,为什么吃蘑菇不能喝茶?因为茶会把菇泡软。
阅读全文