HBU-DS2018SY-1-1 数组循环左移 (20 分)
- 2019 年 11 月 8 日
- 筆記
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/85267630

输入格式:
输入第1行给出正整数n(≤100)和整数m(m≥0);第2行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
8 3 1 2 3 4 5 6 7 8
输出样例:
4 5 6 7 8 1 2 3
友情链接: 数组元素循环右移问题
AC代码:
#include <bits/stdc++.h> using namespace std; void Input(int a[], int n); //数组元素的输入 void Print(int a[], int n); //数组元素的输出 void LeftMove(int a[], int n, int m); //数组元素循环左移 int main() { int n, m; cin >> n >> m; int a[n]; Input(a,n); LeftMove(a,n,m); Print(a,n); } void Input(int a[], int n) //数组元素的输入 { for(int i=0;i<n;i++) { cin >> a[i]; } } void LeftMove(int a[], int n, int m) //数组元素循环左移 { m = m%n; for(int i=0;i<m;i++) { int temp = a[0]; for(int j=0;j<n-1;j++) { a[j] = a[j+1]; } a[n - 1] = temp; } } void Print(int a[], int n) //数组元素的输出 { int i; for(i=0;i<n-1;i++) { cout << a[i] << " "; } cout << a[n-1]; }