码迷,mamicode.com
首页 > 其他好文 > 详细

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写一个函数实现上述功能,在主函数中输入n个整数,并输出调整后的n个数

时间:2015-05-27 22:50:16      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:


第一种方法:指针法

#include<stdio.h>
#include<stdlib.h>
int  w(int *d,int e,int g)
{
     int i,j,t;
     int *r;
     j=0;
   for(i=0;i<g;i++)
   {
     t=*(d+i);
    *(d+i)=*(d+e-g+j);
    *(d+e-g+j)=t;
      j++;            
                   } 
     return *d;
     }
 int main()
{
   int a[100];
   int i,j,k,n,m;
      scanf("%d%d",&n,&m);
      for(i=0;i<n;i++)
      scanf("%d",&a[i]);
      k=n;
      w(a,k,m);
     for(i=0;i<n;i++)
      printf("%d ",a[i]);
      printf("\n");
      system("pause");
      return 0;
      }

第二种方法:数组法
#include<stdio.h>
#include<stdlib.h>
void  w(int d[],int e,int g)
{
     int i,j,t;
     //int *r;
     j=e;
   for(i=0;i<g;i++)
   {
     t=d[i];
     d[i]=d[j-1];
     d[j-1]=t;
      j--;            
                   } 
       for(i=0;i<e;i++)
      printf("%d ",d[i]);
      printf("\n");
                   //return *d;
     }
 int main()
{
   int a[100];
   int i,j,k,n,m;
      scanf("%d%d",&n,&m);
      for(i=0;i<n;i++)
      scanf("%d",&a[i]);
      k=n;
      w(a,k,m);
     /* for(i=0;i<n;i++)
      printf("%d ",a[i]);
      printf("\n");*/
      system("pause");
      return 0;
      }

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写一个函数实现上述功能,在主函数中输入n个整数,并输出调整后的n个数

标签:

原文地址:http://blog.csdn.net/l15738519366/article/details/46053347

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!