引例
第一题
动态数组逆序输出(程序填空)
请你利用vector定义一个动态数组,输入N个数字,输出这N个数字的逆序。
输入格式
第一行1个正整数:N,范围在[1,100]。
第二行N个正整数:范围在[1,10000]。
输出格式
N个相反的次序输出的正整数。
输入/输出例子1
输入:
4
2 6 1 9
输出:
9 1 6 2
#include<bits/stdc++.h>
using namespace std;
vector< >a;
int n,t;
int main(){
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>t;
a.push_back( );
}
for (int i= ;i>= ;i--)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
这道题我们主要注意的是“逆序”
所以答案就是——————————
第一空 int
第二空 t
第三空 n-1
第四空 0
第2题 数组尾部删除(程序填空)
定义一个长度为10的动态数组,将数组全部初始化为数字1,紧接着继续添加x个整数至该数组尾部,紧接着删除该数组尾部y个元素。最后,逆序输出该数组中所有元素和数组元素的个数。
输入格式
共三行
第一行1个正整数:x,范围在[1,100]。
第二行x个正整数:范围在[1,10000]。
第三行为一个整数y,1<=y<10+x。
输出格式
共两行。
第一行删除后所剩元素。
第二行所剩元素个数。
输入/输出例子1
输入:
5
1 2 3 4 5
8
输出:
1 1 1 1 1 1 1
7
样例解释
样例说明:
添加5个元素1 2 3 4 5后数组元素为111111111112345,删除尾部8个元素后1111111,共7个元素。
故输出
1111111
7
#include<bits/stdc++.h>
using namespace std;
int n,x,y;
vector<int>a( );
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
a.push_back(x);
}
cin>>y;
for(int i=1;i<=y;i++)
;
for(int i=( );i>=0;i--)
cout<<a[i]<<" ";
cout<<endl<< <<endl;
return 0;
}
这道题要用pop的函数,自己去上一篇康一康,所以答案是
第一空
10,1 |
第二空
a.pop_back();
第三空
a.size()-1 |