有n个数,使前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。写一函数实现以上功能,在主函数中能够输入n个整数和输出调整后的n个数。
void S(int *arr, int m)
{int tmp = 0;
for (int i = 0; i <10 - m; ++i)//由m确定移动次数
{
tmp = arr[9];
for (int j = 9; j>0; --j)//每次将数组头尾处理完成之后,逐个向后覆盖
{
arr[j] = arr[j - 1];
}
arr[0] = tmp;
}
}
void S(int *arr, int m);
int main()
{
int m;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//输入n个数
printf(“请输入第m个数:”);
scanf("%d", &m);//输入调整位置
S(arr, m);
for (int i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
}
有n个数,使前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。写一函数实现以上功能,在主函数中能够输入n个整数和输出调整后的n个数。
最新推荐文章于 2022-11-24 18:43:07 发布