c语言编程 有N个整数,使其前面各数顺序向后移动M个位置,最后M个数变成前面的M个数
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
错误一修改:
printf("%d",a[i]);
错误二修改:
void move(int a[],int n,int m)
{
int t[N];
int i,j=0;
for(i=n-m;i<n;i++) //把后面的取出放启乱到t中
t[j++]=a[i]
for(i=0; i<n-m; i++) //前面的后移
a[i+m]=a[i];
for(i=0;i<m;i++) //把t中的放到前面棚高
a[i]=t[i];
}
扩展资料:
注意事项
调用自定义后移函数move(int *a, int n, int m)来进行循环移位,对n(n<20)个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如下: n=10, m=3时:输入:1 2 3 4 5 6 7 8 9 10,输出:8 9 10 1 2 3 4 5 6 7
Input
输入多组测试数据,每组先输入n(n < 20)和m(m < n),再输入n个整链旁尺数。
Output
输出循环移动m个数后的序列,数据间空格隔开。
Sample Input
10 4
1 2 3 4 5 6 7 8 9 10
7 2
1 2 3 4 5 6 7
Sample Output
7 8 9 10 1 2 3 4 5 6
6 7 1 2 3 4 5