题目:
有n个整数,使前面个数顺序后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,再主函数中输入n个整数并输出调整后的n个数。试编写相应程序。
输入样例
6 2
1 2 3 4 5 6
输出样例
561234
#include<stdio.h>
void rearset(int a[], int n,int m);
int main()
{
int i, n,m;
int a[10];
scanf_s("%d", &n);
scanf_s("%d\n", &m);
for (i = 0; i < n; i++) {
scanf_s("%d", &a[i]);
}
printf("\n");
rearset(a, n,m);
for (i = 0; i < n; i++) {
printf("%d", a[i]);
}
return 0;
}
void rearset(int a[], int n,int m) {
int i, j, t;
if (m > n)
m = m % n;
for (i = 0; i < m; i++) {
t = a[n - 1];
for (j = n-2; j >=0; j--) {
a[j + 1] = a[j];
}
a[0] = t;
}
}