数组右移

/******************************************************************************************************
1.将最后一个元素暂存
2.将数组右移动一位
3.将暂存的元素,放到第一个元素中
4.多次移动,循环移动即可
**/
#include<stdio.h>
#define  N 4
int savetemp(int *p)
{
	int temp;
	temp= *(p+N-1);
	return temp;
};

void Ashifrigth(int a[])
{
	
        int temp,j;
    	temp= savetemp(a);
		for(j=N-1;j>0;j--)
		{
			 a[j]=a[j-1];
		    
		}
		a[0]=temp;
	    return;
}
void AshiftRn(int n,int a[])
{
  int i;
   for(i=0;i<n;i++)
	   Ashifrigth(a);
   return;
}
int data[4]={1,2,3,4};
void main()
{
   int M=0;
   int i;
   AshiftRn(3,data);
   for(i=0;i<4;i++)
	   printf("%d\t",data[i]);

}

猜你喜欢

转载自blog.csdn.net/fengliang191/article/details/38964393