56 循环数组
作者: 江宝钏时间限制: 1S章节: 函数
问题描述 :
编写程序,将一维数组中的元素向右循环移动N次。
输入说明 :
第一行整数n,表示数组大小为n
第二行,n个数,表示数组中的n个元素。
第三行,整数N,表示数组向右移动N次。
输出说明 :
移动后的数组元素,每两个元素之间以一个空格分隔。行首与行尾无多余空格。
输入范例 :
10
1 2 3 4 5 6 7 8 9 10
4
输出范例 :
7 8 9 10 1 2 3 4 5 6
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;//数组长度
while( scanf("%d",&a) != EOF )
{
int *b=(int *)malloc( sizeof(int)*a );//定义数组
int c;//移动长度
for(int i=0;i<a;i++)
{
scanf("%d",&b[i]);
}
scanf("%d",&c);
for(int j=1;j<=c;j++)
{
int temp=b[a-1];
for(int k=a-1;k>0;k--)
{
b[k]=b[k-1];
}
b[0]=temp;
}
for(int m=0;m<a;m++)
{
if(m==0)
printf("%d",b[m]);
else
printf(" %d",b[m]);
}
}
return 0;
}