题目大意
给你一个长度为N的序列A
需要你执行以下操作K次
- 向左移序列A的每个数,并且空位由0补齐
最后输出序列A
输入
先输入两个数N,K
再输入一行数序列A
输出
操作完后的序列A
数据范围
- 1≤N≤100
- 1≤K≤100
- 1≤Ai≤100
分析
根据题目意思来看,我们只需要把序列A前K个数去掉,并在后面加上K个0即可。
也就是说,我们只需要从第K+1个开始输出,直到输出了N个数为止。
我们不需要担心0的问题,因为我们可以在主函数外定义一个空间为N+K的数组,第N位以后的数,初始值为0,不需要我们手动设置。
代码
#include<bits/stdc++.h>
using namespace std;
int n,k,i,a[505];
int main(){
scanf("%d%d",&n,&k);
for(i=1;i<=n;++i) scanf("%d",&a[i]);
for(i=1;i<=n;++i) printf("%d ",a[i+k]);
return 0;
}
自编数据
AT_abc278_a.zip:
https://url92.ctfile.com/f/36696392-729590631-1577f1?p=1970(访问密码:1970)