A. 初赛模拟题7

    客观题

初赛模拟题7

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

一、单项选择题(共15题,每题2分,共计30分,每题有且仅有一个正确选项)

  1. 以下属于系统软件的是:()。 {{ select(1) }}
  • C++编译器
  • 腾讯QQ
  • CAD
  • 游戏软件
  1. ___年___月___日在国际电信标准组织3GPP RAN第78次全体会议上,5G NR首发版本正式发布,这是全球第一个可商用部署的5G标准。() {{ select(2) }}
  • 2017年8月18日
  • 2018年1月1日
  • 2017年12月25日
  • 2017年12月21日
  1. 如果用一个字节来表示整数,最高位用作符号位,其他位表示数值。例如:00000001表示+1,10000001表示-1,试问这样表示法的整数A的范围应该是()。 {{ select(3) }}
  • -127<=A<=127
  • -128<=A<=128
  • -128<=A<128
  • -127<=A<=128
  1. 下列属于网络模型的名称是() {{ select(4) }}
  • LAN
  • TCP/IP
  • FTP
  • SMTP
  1. 在C++中,(-7)%(-5)等于() {{ select(5) }}
  • 2
  • -2
  • 3
  • -3
  1. 学号为1到30的小朋友顺时针排成一圈,从1号小朋友开始顺时针报数,从数字1开始数下去,1,2,3,...,28,29,30,31,32,...,一圈又一圈,问当数到数字n,所在的小朋友的学号为多少?() {{ select(6) }}
  • (n-1)%30
  • 1+(n-1)%30
  • (n+1)%30-1
  • (n+1)%30
  1. 一棵完全二叉树的结点总数为41,其叶结点数为() {{ select(7) }}
  • 18个
  • 19个
  • 20个
  • 21个
  1. 给出3种排序:插入排序、冒泡排序、选择排序。这3种排序的时间代价分别是() {{ select(8) }}
  • O(n)、O(n²)、O(log₂n)
  • O(log₂n)、O(n)、O(n²)
  • O(n²)、O(n)、O(n)
  • O(n²)、O(n²)、O(n²)
  1. 请给以下四个事件发生的时间排序()。 1.举办第一次NOIP 2.举办第一次NOI网络同步赛 3.NOIP提高组由四题改为三题 4.举办第一次APIO {{ select(9) }}
  • 1234
  • 1243
  • 2134
  • 2143
  1. 以下在OSI模型中属于TCP/IP模型中的应用层的是() {{ select(10) }}
  • 应用层
  • 网络层
  • 数据链路层
  • 表示层
  1. 以下关于图的不正确说法是() {{ select(11) }}
  • 所有顶点的度数之和等于边数的2倍
  • 所有顶点的度数之和不一定等于边数的2倍
  • 任意一个图一定有偶数个奇点
  • 在有向图中顶点的入度之和等于出度之和
  1. 6个人分乘两辆不同的汽车,每辆车最多坐4人,则不同的乘车方法数为()。 {{ select(12) }}
  • 40
  • 50
  • 60
  • 70
  1. 为了实现两数交换,代码如下:
void swapAB(int &a,int &b)
{
    ______;
    b=a-b;
    a=a-b;
}

则空格内要填入的语句是()。 {{ select(13) }}

  • a=a+b
  • a=a*b;
  • a=a-b;
  • a=a&b;
  1. 某数列有1000个各不相同的数,由低到高按序排列,现要对该数列进行二分法检索,在最坏的情况下,需要检索()个数据。 {{ select(14) }}
  • 1000
  • 10
  • 100
  • 500
  1. 以下简称和全称不对应的是() {{ select(15) }}
  • NAT(Network Address Translation)
  • TCP(Transmission Control Protocol)
  • ARP(Adobe Resolution Protocol)
  • ICMP(Internet Control Message Protocol)

二、阅读程序(程序输人不超过数组或字符串定义的范围; 除特殊说明外,判断题1.5分,选择题4分,共计40分)

阅读程序1:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s1,s2;
    cin>>s1;cin>>s2;
    int cnt=0;
    for (int i=0;i<s1.size();i++)
    {
        for (int j=0;j<s2.size();j++)
            if (s1[i]==s2[j]) cnt++;
    }
    cout<<cnt;
}
  1. 输入必须全要是字母,否则无法被识别。 {{ select(16) }}
  • 正确
  • 错误
  1. 将10行的j全部换成i是有问题的。 {{ select(17) }}
  • 正确
  • 错误
  1. 本程序的功能是统计两个字符串的最长公共子序列长度。 {{ select(18) }}
  • 正确
  • 错误
  1. 本程序的时间复杂度为O(n²)。 {{ select(19) }}
  • 正确
  • 错误
  1. 若输入的两个字符串长度均为12,那么输出最大为()。 {{ select(20) }}
  • 0
  • 144
  • 12
  • 24
  1. 若s1长度为4,输出为6,则s2的长度至少为()。 {{ select(21) }}
  • 1
  • 2
  • 3
  • 4

阅读程序2:

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+7;
int a[MAXN],b[MAXN];
int main(){
    int n,m,x,y;
    cin>>n>>m;
    for (int i=1;i<=n;i++)
    {
        cin>>x>>y;
        a[x]++;
        a[y+1]--;
    }
    int cnt=0,ans=0;
    for (int i=0;i<=m;i++)
    {
        cnt+=a[i];
        ans+=cnt;
    }
    cout<<ans;
}

注:(输入流中 1<=x<=y<=m)

  1. 输入的x和y可以是全体整数。 {{ select(22) }}
  • 正确
  • 错误
  1. 将14行的清零过程除去没有问题。 {{ select(23) }}
  • 正确
  • 错误
  1. 将17行与18行交换位置不会影响最终结果。 {{ select(24) }}
  • 正确
  • 错误
  1. 将11行的x改成x-1并把12行的y+1改成y不会影响最终结果。 {{ select(25) }}
  • 正确
  • 错误
  1. 现在已知输入的n与m,则答案的极差为()。 {{ select(26) }}
  • n-m
  • 2n-m
  • nm-n
  • n²-2m
  1. 在(1)的基础上,去除"注"中的条件,则答案的极差为()。 {{ select(27) }}
  • 2n+2nm
  • n+m
  • 2n+2m
  • mn+m

阅读程序3:

#include<bits/stdc++.h>
using namespace std;
int a[6];
int change(int a){a++;}
int change1(int &a){a++;}
int main(){
    int c=1;for (int i=1;i<=5;i++) a[i]=i*3;
    int *b=&a[1];
    change(*b);cout<<*b<<endl;cout<<a[1]<<endl;
    *b++;cout<<*b<<endl;cout<<a[1]<<endl;
    change1(*b);cout<<*b<<endl;cout<<a[1]<<endl;
    *b=c;
    change(c);cout<<*b<<endl;cout<<c<<endl;
    change1(c);cout<<*b<<endl;cout<<c<<endl;
    return 0;
}
  1. 将第7行中int换为long long后程序依然能通过编译。 {{ select(28) }}
  • 正确
  • 错误
  1. change与change1两个函数等价。 {{ select(29) }}
  • 正确
  • 错误
  1. 将第12行换为b=&c;输出值不变。 {{ select(30) }}
  • 正确
  • 错误
  1. 将第8行换为int*b=a+1;输出值不变。 {{ select(31) }}
  • 正确
  • 错误
  1. 输出结果的最大值是()。 {{ select(32) }}
  • 6
  • 4
  • 7
  • 5
  1. 输出结果的乘积是()。 {{ select(33) }}
  • 6804
  • 5760
  • 11520
  • 13608

三、完善程序(单选题,每小题3分,共计30分)

完善程序1: 给出N个整数,要统计每个数前面有多少比它大的数字。比如有5个数的数列:2 5 1 3 4,则第1个数2之前有0个数比它大;第2个数5之前有0个数比它大;第3个数1之前有2个数比它大;第4个数3之前有1个数比它大;第5个数4之前有1个数比它大。数据范围:每个数范围是[0...200],N<=10⁵

#include<iostream>
using namespace std;
int d[100002];
int c[1300];
int main() {
    int n,ans,x;
    cin>>n;
    for (int i=0;i<n;i++)
        [ ① ];
    for (int i=0;i<n;i++) {
        [ ② ];
        for (int j= [ ③ ] ;j<=200;j++)
            [ ④ ];
        cout<<ans<<" ";
        [ ⑤ ];
    }
    cout<<endl;
    return 0;
}
  1. ①处应该填()。 {{ select(34) }}
  • cin>>c[i]
  • cin>>d[i]
  • read(c[i])
  • read(d[i])
  1. ②处应该填()。 {{ select(35) }}
  • ans++
  • c[i]=d[i]
  • ans=0
  • c[i]++
  1. ③处应该填()。 {{ select(36) }}
  • d[i]
  • c[i]+1
  • d[i]+1
  • c[i]
  1. ④处应该填()。 {{ select(37) }}
  • c[j]+=d[i]
  • ans+=(c[j]==1)
  • ans++
  • ans+=c[j]
  1. ⑤处应该填()。 {{ select(38) }}
  • c[d[i]]++
  • c[i]++
  • ans=c[i]
  • d[c[i]]++

完善程序2: 给定n个数 a₁,...,aₙ。求n个数字当中第1到第r个数字当中的中位数,我们可以用二分的经典思想来解决此问题。所谓中位数就是n个数中从小到大排序第⌊n/2⌋+1个数。

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e3+10;
int n,m,a[MAXN],maxn;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i],maxn=max(maxn,a[i]);
    while(m--){
        int lft,rgt;cin>>lft>>rgt;
        int l=1,r= [ ① ] ;
        while( [ ② ] ){
            int mid= [ ③ ] ,s1=0,s2=0;
            for(int i=lft;i<=rgt;i++){
                if(a[i]>mid)s1++;
                if(a[i]<mid)s2++;
            }
            if(s1<=s2) [ ④ ] =mid;
            else [ ⑤ ] =mid;
        }cout<<l;
    }
    return 0;
}
  1. ①处应填()。 {{ select(39) }}
  • maxn
  • maxn+1
  • maxn-1
  • n*2
  1. ②处应填()。 {{ select(40) }}
  • l+r<n
  • l<=r
  • l<r
  • l+1<r
  1. ③处应填()。 {{ select(41) }}
  • l+r
  • (l+r)>>1
  • r-l+1
  • r-l
  1. ④处应填()。 {{ select(42) }}
  • l
  • r
  • lft
  • rgt
  1. ⑤处应填()。 {{ select(43) }}
  • l
  • r
  • lft
  • rgt

入门级CSP-J第七套初赛模拟

未参加
状态
完成
规则
OI
题目
1
开始于
2026-7-17 18:30
结束于
2026-7-17 20:30
持续时间
2 小时
主持人
参赛人数
17