#K4010. C4.03 STL
C4.03 STL
一、程序阅读。
#include<bits/stdc++.h>
#include<vector>
using namespace std;
vector<int> a;
int n;
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
{
int d;
cin>>d;
a.push_back(d);
}
int n=a.size();
while(1)
{
int d;
d=a[n-1];
a.insert(a.begin()+0,d);
for(int i=0; i<n; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
if(a[n-1]==n)
{
break;
}
}
return 0;
}
判断题
- 第13行a.push_back()函数,实现了在vector<int> a的第一个位置添加元 素。 {{ select(1) }}
- 对
- 错
- 第19行d=a[n-1],得到了vector<int> a倒数第二个元素。 {{ select(2) }}
- 对
- 错
- 定义动态数组vector<int> a(10)动态数组每个元素默认值等于0。 {{ select(3) }}
- 对
- 错
- 定义动态数组vector<int> a(10),数组长度就不能动态增加了。 {{ select(4) }}
- 对
- 错
选择题
- 执行程序后输入下列数据,输出的结果为?
10
1 7 6 5 8 4 3 9 10 2
{{ select(5) }}
- 2 1 7 6 5 8 4 3 9 10
- 7 6 5 8 4 3 9 10 2 1
- 5 8 4 3 9 10 2 1 7 6
- 4 3 9 10 2 1 7 6 5 8
二、程序填空
题目描述
(枚举因数)从小到大打印正整数 n 的所有正因数。试补全枚举程序.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> fac;
fac.reserve((int)ceil(sqrt(n)));
int i;
for (i = 1; i * i < n; ++i)
{
if (___①___)
{
fac.push_back(i);
}
}
for (int k = 0; k < fac.size(); ++k)
{
cout <<___②___<< " ";
}
if (___③___)
{
cout <<___④___<< " ";
}
for (int k = fac.size() - 1; k >= 0; --k)
{
cout <<)___⑤___<< " ";
}
return 0;
}
- 第①处应填。( ) {{ select(6) }}
- n % i == 0
- n % i == 1
- n % (i-1) == 0
- n % (i-1) == 1
- 第②处应填。( ) {{ select(7) }}
- n / fac[k]
- fac[k]
- fac[k]-1
- n / (fac[k]-1)
- 第③处应填。( ) {{ select(8) }}
- (i-1) * (i-1) == n
- (i-1) * i == n
- i * i == n
- i * (i-1) == n
- 第④处应填。( ) {{ select(9) }}
- n-i
- n-i+1
- i-1
- i
- 第⑤处应填。( ) {{ select(10) }}
- n / fac[k]
- fac[k]
- fac[k]-1
- n / (fac[k]-1)
相关
在以下作业中: