编程序 将一维数组中元素向右循环移N次。要求用下标法和指针法两种方法实现
例如 元素为0,1,2,3,4,5,6,7,8,9,10位移3次后变成8,9,10,0,1,2,3,4,5,6,7。
==========================
下标法
#include
void main()
{
int a[11]={0,1,2,3,4,5,6,7,8,9,10};
int N;
int i,j,temp;
printf("Please input N: \n");
scanf("%d",&N);
for(i=0;i
{
temp=a[10];
for(j=10;j>=1;j--)
{
a[j]=a[j-1];
}
a[0]=temp;
}
printf("After Move: \n");
for(i=0;i<11;i++) printf("%d ",a[i]);
}
==========================
下标法
#include
void main()
{
int a[11]={0,1,2,3,4,5,6,7,8,9,10};
int N;
int i,j,temp;
printf("Please input N: \n");
scanf("%d",&N);
for(i=0;i
{
temp=*(a+10);
for(j=10;j>=1;j--)
{
*(a+j)=*(a+j-1);
}
*a=temp;
}
printf("After Move: \n");
for(i=0;i<11;i++) printf("%d ",*(a+i));
}
写错了 第二个是指针法
=============================
感觉指针法只是用指针代替了数组而已啊 没看出有点在哪