2035:【例5.2】平移数据
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 55733 通过数: 36735
【题目描述】
将aa数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。
【输入】
第一行为数组aa的元素个数;
第二行为nn个小于10001000的正整数。
【输出】
平移后的数组元素,每个数用一个空格隔开。
【输入样例】
10
1 2 3 4 5 6 7 8 9 10
【输出样例】
2 3 4 5 6 7 8 9 10 1
思路:
1号方案
懒得处理了,直接读入a[1]~a[n],输出a[2]~a[n]最后输出a[1]
2号方案
真真正正地处理数组
首先x=a[1]
然后 for(int i=1;i<=n-1;i++) a[i]=a[i+1];
最后a[n]=x;
代码:
1号方案
#include<bits/stdc++.h>
using namespace std;
int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);long long n;cin>>n;long long a[n+10];for(int i=1;i<=n;i++)cin>>a[i];for(int i=2;i<=n;i++)cout<<a[i]<<" ";cout<<a[1];return 0;
}
你问 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);是什么?
c++加速方法大全_c++for循环加速-CSDN博客
2号方案
#include<bits/stdc++.h>
using namespace std;
int main(){long long n;cin>>n;long long a[n+10];for(int i=1;i<=n;i++){cin>>a[i];//读入}long long x=a[1];//记录for(int i=1;i<=n-1;i++){a[i]=a[i+1];//转移}a[n]=x;for(int i=1;i<=n;i++){cout<<a[i]<<" ";//输出}return 0;
}