程序功能:实现数组元素的逆序存放并输出结果。 #include<stdio.h> void inverse(int * , int ); void main() { int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); inverse( ); for(i=0;i<10;i++) printf("%d\t",a[i]); printf("\n"); inverse(int *p , int n) int *q,t; for( ) { t=*p ; *p=*q ; *q=t; } } 补全代码
时间: 2023-12-08 14:03:04 浏览: 74
.编写一个函数,将数组中n个数按反序存放。 实验步骤与要求: 在主函数中输入10个数,并输出排好序的数。 编写函数invert()将10个数按反序存放。
4星 · 用户满意度95%
以下是补全代码后的程序:
```c
#include <stdio.h>
void inverse(int *p, int n);
int main() {
int a[10], i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
inverse(a, 10);
for (i = 0; i < 10; i++)
printf("%d\t", a[i]);
printf("\n");
return 0;
}
void inverse(int *p, int n) {
int *q, t;
for (q = p + n - 1; p < q; p++, q--) {
t = *p;
*p = *q;
*q = t;
}
}
```
程序思路:
1. 在 `main` 函数中,首先读入一个包含 10 个整数的数组 `a`;
2. 然后调用 `inverse` 函数,将数组 `a` 的内容进行逆序;
3. 最后在 `main` 函数中输出逆序后的数组 `a`。
在 `inverse` 函数中,使用指针 `p` 和 `q` 分别指向数组的首尾元素,通过交换它们所指向的元素的值来实现逆序。循环条件是 `p < q`,当 `p` 和 `q` 相遇时循环结束。
阅读全文