C语言编写程序,将一维数组中的元素向右循环移动N次

2024-11-29 14:48:35
推荐回答(3个)
回答(1):

#include
void main()
{
int N,a[10],i,tmp,j;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("nafter:\n");
//你的初始化不变
scanf("%d",&N);//输入不变
//N=N%10;//为什么要求余呢?不理解
for(i=0;i {
tmp=a[9];//这行注释
for(j=8;j>0;j--)
{
a[j]=a[j+1];
}
a[0]=tmp;//这行变为a[0]=0;
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}

回答(2):

#include
main()
{
int N,a[10],b[10],i,j;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("nafter:\n");
scanf("%d",&N);
N=N%10;
for(i=0;i {
b[i]=a[10-N+i];
printf("%d ",b[i]);
}
for(j=0;j<10-N;j++)
printf("%d ",a[j]);
}

回答(3):

有没有具体数据参考