#A. 小学初赛h4
小学初赛h4
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
阅读程序(12分)
1 #include<iostream>
2 using namespace std;
3 int n;
4 int a[100];
5
6 int main() {
7 scanf("%d", &n);
8 for (int i = 1; i <= n; ++i)
9 scanf("%d", &a[i]);
10 int ans = 1;
11 for (int i = 1; i <= n; ++i) {
12 if (i > 1 && a[i] < a[i - 1])
13 ans = i;
14 while (ans < n && a[i] >= a[ans + 1])
15 ++ans;
16 printf("%d\n", ans);
17 }
18 return 0;
19 }
判断题
- 第 行输出 时, 的值一定大于 。(){{ select(1) }}
- 正确
- 错误
- 程序输出的 小于等于 。(){{ select(2) }}
- 正确
- 错误
- 若将第 行的"<"改为"!=",程序输出的结果不会改变。() {{ select(3) }}
- 正确
- 错误
- 当程序执行到第 行时,若 ,则。() {{ select(4) }}
- 正确
- 错误
选择题
- 若输入的a数组是一个严格单调递增的数列,此程序的时间复杂度是{{ select(5) }}。
- 最坏情况下,此程序的时间复杂度是{{ select(6) }}。
代码天空(10分)
题目描述
求两个不超过200位的非负整数的和。
输入格式
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
输出格式
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
22222222222222222222
33333333333333333333
样例输出
55555555555555555555
#include <bits/stdc++.h>
using namespace std;
string add(string a, string b){
string c, d;
int k = 0;
if((1)______){
swap(a,b);
}
int cha = b.size()-a.size();
for(int i = 0; i < cha; i++){
(2)______;
}
for(int i = a.size()-1; i >= 0; i--){
int num = (3)______;
c += (char)(num%10 + '0');
(4)______;
}
if(k == 1) c += '1';
for(int i = c.size()-1; i >= 0; i--){
d += c[i];
}
(5)______;
}
int main(){
string a, b;
cin >> a >> b;
cout << add(a, b);
return 0;
}
(1){{ select(7) }}
- a.size()==b.size()
- a.size()>b.size()
- a.size()<b.size()
- a.size()==0
(2){{ select(8) }}
- a=a+'0'
- a='0'+a
- b=b+'0'
- b='0'+b
(3){{ select(9) }}
- a[i]+b[i]
- a[i]+b[i]+k
- a[i]+b[i]-'0'+k
- a[i]+b[i]-'0'-'0'+k
(4){{ select(10) }}
- k=1
- k=0
- k=num/10
- k=num%10
(5){{ select(11) }}
-
return d;
-
reverse(d.begin(),d.end()); return d;
-
return c;
-
return d+c;