技术学习C++C++问题 E: C语言10.17
Ramsayi题目描述
输入 n 个整数,使前面的 n-m 个数顺序向后移动 m 个位置,最后的 m 个数变成最前面的 m 个数。通过函数实现以上的功能。
输入
第一行包含两个用空格隔开的整数 n 和 m,保证 n>m 且 n 不超过 50。第二行包含 n 个用空格隔开的整数。
输出
输出进行题目描述操作之后的 n 个整数,每个整数之后输出一个空格。
请注意行尾输出换行。
样例输入
样例输出
提示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include<iostream> using namespace std; int n,m; void reverse(int num[]){ int nums[n]; for(int i=0;i<n-m;i++) nums[i+m]=num[i]; for(int i=0;i<m;i++) nums[i]=num[n-m+i]; for(int i=0;i<n;i++) cout<<nums[i]<<' '; cout<<endl;
} int main(){ cin>>n>>m; int num[n]; for(int i=0;i<n;i++) cin>>num[i]; reverse(num); }
|