C语言编写函数fun,其定义为:void fun(int *a,int n) 功能是:将形参a所指数组中的前半部分元素和后半部分元素值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如,若a所指数组中的数据依次为:1、4、3、2、5、6、8、7、9,则调换后为:6、8、7、9、5、1、4、3、2。 main函数中定义10个长度的数组,输入n(n<=10)代表数组元素的具体个数,调用fun函数并输出结果。 输入样例1:
时间: 2023-12-28 08:13:03 浏览: 193
这是一个关于C语言函数的问题,下面是代码实现:
```
#include <stdio.h>
void fun(int *a, int n) {
int i, j, temp;
for (i = 0, j = n - 1; i < j; i++, j--) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
int main() {
int a[10], n, i;
printf("请输入数组元素的个数(不超过10):");
scanf("%d", &n);
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
fun(a, n);
printf("调换后的数组元素为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输入样例1:
```
请输入数组元素的个数(不超过10):9
请输入数组元素:1 4 3 2 5 6 8 7 9
调换后的数组元素为:9 7 8 6 5 2 3 4 1
```
注意:这里的函数是将前半部分元素和后半部分元素值对换,所以循环的次数应该是n/2次,而不是n次。同时,如果n为奇数,中间的元素不动,也就是说循环的次数是(n-1)/2次。
阅读全文