题目描述
有 n 个人(每个人有一个唯一的编号,用 1~n 之间的整数表示)在一个水龙头前排队准备接水,现在第 x 个人有特殊情况离开了队伍,求第 x 个人离开队伍后的排队情况。
输入
第一行 1 个正整数 n,表示有 n 个人,2<n≤100。
第二行包含n个正整数,之间用一个空格隔开,表示排在队伍中的第1个到第n个人的编号。
第三行包含 1 个正整数 x,表示第 x 个人离开队伍,1≤x≤n。
输出
一行包含 n-1 个正整数,之间用一个空格隔开,表示第 x 个人离开队伍后的排队情况。
样例输入
7 7 2 3 4 5 6 1 3
样例输出
7 2 4 5 6 1
解题思路:
输入n,循环输入n个数存入数组,从离开队伍后一个数组编号赋给前一位,循环输出并将队伍人数减一。
#include<iostream>
using namespace std;
int main()
{
int n,a[101],x,i;
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
}
cin>>x;
for(int j=x-1;j<n-1;j++){
a[j]=a[j+1];
}
for(i=0;i<n-1;i++){
cout<<a[i]<<" ";
}
return 0;
}
心得:
利用循环将数组重新赋值。