#xxsy202401. 2024信息素养大赛初赛①

2024信息素养大赛初赛①

1、编写程序,计算区间100~n之间的所有整数(100<n<=999),数字x(0<x<9)共出现的次数,补全①、②和③处的代码例如:100到109中,即100、101、102、103、104、105、106、107、108、109中,数字1出现了11次。

#include<iostream> 
using namespace std; 
int main(){ 
    int n,x.cnt = 0; 
    cin>>n>>s;   
    for(int i=100: i<=n: i++){     
    ___①___     
    int g,s,b;     
    g=a%10;     
    ___②___     
    ___③___     
    if(g == x){       
    cnt++;     }    
    if(s == x){      
     cnt++;     }     
    if(b == x){       
    cnt++;     }  
  }   
  cout<<cnt<<endl;   
  return 0;} 

{{ select(1) }}

  • int a = i; s=a/10%10; b =a/100;
  • int g = i; s=g%10; b=g%100;
  • int cnt = i; s = cnt%10; b = cnt/100;
  • int a = n; s=a/10; b =a%100;

2、完全数是指一个数恰好等于除它本身之外的所有因数之和。例如:6的因数有1、2、3、6,除去6之外的因数之和为1+2+3=6,所以6为完全数。

编写程序,按从小到大的顺序寻找1到10000之间的完全数,输出第n个完全数,n的范围0<n<5。补全①、②和③处的代码.

#include<iostream> 
using namespace std; 
int main(){ 
  int n,sum = 0, num = 0; 
  cin >> n; 
  for(int i=1; i<10000;i++){ 
      int a = i; 
      sum = 0; 
      for(int j=1; j <a; j++){ 
        if(a%j == 0){ 
        _①_ 
        } 
      } 
      if(_②_){ 
        num++; 
      } 
      if(num == n){ 
         cout<<a; 
         _③_; 
      } 
   } 
  return 0; 
} 

{{ select(2) }}

  • sum +=i;sum == a; continue;
  • sum+=j;sum == a; break;
  • sum +=j;sum == a; continue;
  • sum +=i; sum == a; break;

3.下面哪个语句运行结果是9?( )(5分)

{{ select(3) }}

  • cout <<"5+ 4" << endl;
  • cout << 5<<"+"<<4<< endl;
  • cout << 5+4<<endl;
  • cin >> 5+4 > > endl;

4、下面代码实现的是判断n是否是质数的功能。补全①和②处的代码。

#include <iostream> 
using namespace std; 
int main(){ 
int n; 
cin >> n; 
_①_ 
for(int i=2; i < n; i++){ 
if(_②_){ 
isprime = false; 
break; 
} 
} 
cout << isprime << endl; 
return 0; 
} 

{{ select(4) }}

  • bool isprime = true; n%i == 0
  • bool isprime = false; n%i!=0
  • bool isprime = true; n%i != 0
  • bool isprime = false; n%i ==0

5、在C++中,表示布尔数据类型的关键字是( )(5分)

{{ select(5) }}

  • int
  • bool
  • double
  • string

6、声明一个整型变量age的正确方式是( )(5分)

{{ select(6) }}

  • int age;
  • float age;
  • string age;
  • char age;

7、假设有两个城市:城市A和城市B。每个城市的温度都在-50到50摄氏度之间。当且仅当只有一个城市的温度低于0时,输出1,也就是说,如果城市A的温度低于0而城市B大于等于0;或者如果城市A的温度大于等于0而B小于0,则输出1,否则输出0。补全①和②处的代码.

#include<iostream> 
using namespace std; 
int main() 
{ 
  int a,b; 
  cin >> a >> b; 
  if(_①_) 
  { 
    if(_②_){ 
      cout <<1; 
      return 0; 
    } 
  } 
  if(a >= 0){ 
    if(b < 0){ 
      cout <<1; 
      return 0; 
    } 
  } 
  cout <<0; 
  return 0; 
} 

{{ select(7) }}

  • a<0 b>=0
  • a>0 b<=0
  • a>=0 b>=0
  • a <0 b<0

8、运行以下程序,输出的结果是( )(5分)

#include< iostream > 
using namespace std; 
int main(){ 
  int a = 5; 
  int b = a + 3; 
  int c = b - 2; 
  cout <<c; 
  return 0; 
}

{{ select(8) }}

  • 6
  • 8
  • 5
  • 10

9、C++中有很多数据类型,以下可以定义存储浮点型变量的关键字是( ) (5分)

{{ select(9) }}

  • int
  • double
  • char
  • long long

10、执行以下程序段,输入11,则输出的值是( )

int x; 
 
cin >> x; 
 
cout<<x + 2; (5分) 

{{ select(10) }}

  • 10
  • 11
  • x
  • 13

11、在C++中,表示小于或等于的关系运算符是( )(5分)

{{ select(11) }}

  • <<
  • ====
  • <=<=
  • <<

12、在C++中,以下正确的变量命名是( )(5分)

{{ select(12) }}

  • 2things
  • _myVariable
  • my-variable
  • None of the above

13、要在C++中打印"Hello,World!",以下语句正确的是( )(5分)

{{ select(13) }}

  • cout << "Hello, World!";
  • cout "Hello,World!";
  • cout << Hello, World!;
  • cout >> "Hello, World!";

14、小A有一个神奇口袋,里面可以装各个平方数。口袋的负载量就是口袋里所有数字之和。当负载量超过L的时候不能再装平方数。现在给定n个数,从左往右筛选其中的平方数,并依次将平方数放入口袋,编成程序,输出口袋里能装下几个平方数。平方数就是一个整数乘以自己的结果(例如: 1、4、9、16、…...)补全①、②和③处的代码.

例如:

输入L为100,n为5,接下来的5个数分别是49、19、36、25、73,则口袋里只装了49和36两个平方数,所以输出2

#include<iostream> 
using namespace std; 
int main(){ 
  int L,n,cnt=0,sum=0; 
  cin>>L>>n; 
  for(int i=1;i<=n;i++){ 
    int x; 
    bool flag = false; 
    cin>>x; 
    for(int j=1; j<x;j++){ 
      if(_①_){ 
        flag = true; 
        break; 
      } 
    } 
    if(flag == true){ 
        if(_②_){ 
          sum +=x; 
          cnt++; 
        } 
    else{ 
         _③_ 
    } 
  } 
  } 
  cout<<cnt; 
  return 0; 
} 

{{ select(14) }}

  • j*j==x sum+x<=L continue;
  • j*j==x sum+x<=L break;
  • x/j==i sum<=L continue;
  • x/j==i sum<=L break;

15、运行以下程序,输出的结果是( )(5分)

#include<iostream> 
using namespace std; 
int main(){ 
  cout << "Hell"<<" "; 
  cout << "World"; 
  return 0; 
}

{{ select(15) }}

  • Hello,World
  • Hello World
  • 语法错误
  • 无任何输出

16、在C++中,整型 int可以用来存储小数。(5分)

{{ select(16) }}

17、在C++中,&&和Ⅱ分别代表逻辑与和逻辑或运算(5分)

{{ select(17) }}

18、在C++中,变量声明后,如果不初始化。其值是确定的。(5分)

{{ select(18) }}

19、在C++中,cout用于输入,而cin用于输出。(5分)

{{ select(19) }}

20、在C++中,break语句可以用来立即退出当前的循环。(5分)

{{ select(20) }}