#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	} 

判断题

  1. 1616 行输出 ansans 时,ansans 的值一定大于 ii 。(){{ select(1) }}
  • 正确
  • 错误
  1. 程序输出的 ansans 小于等于 nn 。(){{ select(2) }}
  • 正确
  • 错误
  1. 若将第 1212 行的"<"改为"!=",程序输出的结果不会改变。() {{ select(3) }}
  • 正确
  • 错误
  1. 当程序执行到第 1616 行时,若 ansi>2ans-i>2,则a[i+1]a[i]a[i+1] \le a[i]。() {{ select(4) }}
  • 正确
  • 错误

选择题

  1. 若输入的a数组是一个严格单调递增的数列,此程序的时间复杂度是{{ select(5) }}。
  • O(logn)O(logn)
  • O(n2)O(n^2)
  • O(nlogn)O(nlogn)
  • O(n)O(n)
  1. 最坏情况下,此程序的时间复杂度是{{ select(6) }}。
  • O(n2)O(n^2)
  • O(logn)O(logn)
  • O(n)O(n)
  • O(nlogn)O(nlogn)

代码天空(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;
    

2024年8月2日 初赛练习(6)【小学组】-补题场

未认领
状态
已结束
题目
1
开始时间
2024-8-5 0:00
截止时间
2024-10-12 23:59
可延期
24 小时