程序改错,实现从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。 #include <stdio.h> #define ARRSIZE 10; void MaxMinExchang(int a[], int n) { int maxValue=a[0], minValue=a[0], maxPos, minPos; int i, temp; for (i=1; i<n; i++) { if (a
时间: 2024-03-23 09:43:42 浏览: 46
数组定义中的分号应该去掉,应该为#define ARRSIZE 10。同时,if语句中的条件判断部分缺少了右括号,应该为if (a[i] > maxValue)。下面是修改后的代码:
```
#include <stdio.h>
#define ARRSIZE 10
void MaxMinExchang(int a[], int n) {
int maxValue = a[0], minValue = a[0], maxPos, minPos;
int i, temp;
for (i = 1; i < n; i++) {
if (a[i] > maxValue) {
maxValue = a[i];
maxPos = i;
}
if (a[i] < minValue) {
minValue = a[i];
minPos = i;
}
}
temp = a[maxPos];
a[maxPos] = a[minPos];
a[minPos] = temp;
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
}
int main() {
int a[ARRSIZE];
int i;
printf("请输入%d个整数:\n", ARRSIZE);
for (i = 0; i < ARRSIZE; i++) {
scanf("%d", &a[i]);
}
printf("调整后的数组为:");
MaxMinExchang(a, ARRSIZE);
return 0;
}
```
注意:在程序中,需要先输入10个整数,再调用函数进行处理,最后输出调整后的数组。
阅读全文