【C语言】之''指针作为参数求数组的反转''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

键盘输入一个数组,将这个数组的数据反转后输出。

第一行输入数组的大小,第二行数组数组元素。定义函数void reverse(int *x,n)实现数组的反转。

【输入形式】

第一行输入数组的长度n

第二行输入n个整数

【输出形式】

将数组的数据反转后输出。

【样例输入】

3

66 26 23

【样例输出】

23 26 66

【参考答案】

#include <stdio.h>
void main()
{
  void init(int  *x, int n);
  void print(int  *x, int n);
  void reverse(int  *x, int n);
  int a[100];
  int n;
  scanf("%d",&n);
  init(a,n);
  reverse(a,n);
  print(a,n);
}
void reverse(int  *x, int n)
{

      int temp=0;
          for(int i=0,j=n-1;i<j;i++,j--)
          {
                temp=*(x+i);
                *(x+i)=*(x+j);
                *(x+j)=temp;
          }
}
void print(int  *x, int n)
{
     for(int i=0;i<n;i++)
         {
             printf("%d ",*x++);
         }

}
void init(int  *x, int n)
{
   for(int i=0;i<n;i++)
       {
           scanf("%d",x++);
       }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容