能帮我看一下我的代码哪里不符合题意吗?
有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(m<n<100)个位置。 输入
输入数据有2行,第一行的第一个数为n,后面是n个整数,
第二行整数m。
输出
按先后顺序输出n个整数。
样例输入
5 1 2 3 4 5
2
样例输出
4 5 1 2 3
我的:
#include<stdio.h>
int main()
{
int a[100],t;
int n;
int m;
int i,j;
int k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
t=a[i];
a[i]=a[n-m+i];
a[n-m+i]=t;
}
for(i=m,k=m;k<=n-m-1;k++)
{
for(j=i;j<n-1;j++)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<n-1;i++)
{
printf("%d ",a[i]);
}
printf("%d\12",a[i]);
return 0;
}