元素前移1位

Description
将数组所有元素前移一位(最前面的元素移到最后)然后输出移动后的数组
Input
多组测试数据,每组 第一行输入一个整数n(不大于20) 第二行输入n个整数
Output
输出前移一位后的数组
Sample Input
4
1 2 3 4
Sample Output
2 3 4 1

法一:不引入,多出来一项,只是输出后n项
#include<stdio.h>
int main()
{
int a[20];
int i,n,b;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
a[n]=a[0];
for(i=1;i<=n;i++)
{
printf("%d",a[i]);
if(i!=n)
printf(" “);
}
printf(”\n");
}
}

法二:只有n项,引入中间量
#include<stdio.h>
int main()
{
int a[20];
int i,n,b;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
b=a[0];
for(i=0;i<n-1;i++)
a[i]=a[i+1];
a[n-1]=b;
for(i=0;i<n;i++)
{
printf("%d",a[i]);
if(i!=n-1)
printf(" “);
}
printf(”\n");
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/84188747