找到 3 道单选题
清除筛选
EXY-SC-0015
第 1 题

某学校举办“十佳歌手大奖赛”,经过选拔最终参赛选手有 25 人,评委 10 人,最终计分规则去掉一个最高分去掉一个最低分作为该参赛选手的最终得分,并输出该得分。如果单个评委可给满分为 10 分,则相关说法正确的是( )。

float total_score, max_score, min_score, now_score;
for (int i = 0; i < 25; i++){
    max_score = 0;  // 记录最高分
    min_score = 10; // 记录最低分
    total_score = 0; // 记录总分

    for (int j = 0; j < 10; j++){
        cin >> now_score; // 录入评委打分

        max_score = max(max_score, now_score); // L1
        min_score = min(min_score, now_score); // L2

        total_score += now_score;
    }
    cout << (total_score - max_score - min_score);
}
A

程序总体逻辑错误。因为要去掉最高分和最低分,需要排序,而程序没有相关代码。

B

内层循环和外层循环之间的三行代码也就是 max_score = 0 开始的三行代码应该移动到外层循环外。

C

L1 和 L2 标记的两行代码可以分别改为简单的 if 语句或 ? : 语句。

D

total_score += now_score 不可以更改为 total_score = total_score + now_score

语言: C++
GESP真题 二级
2025.12
单选题号: 15
EXY-SC-0014
第 2 题

阅读下面的 C++ 代码。执行后如输入 5 ,其输出的字符图形是( )。

int n,i,j,k;
cin >> n;
for (i = 0; i < n; i++){
    for (j = 0; j < n-i-1; j++)
        cout << " ";
    for (k = 0; k < 2*i+1; k++)
        cout << "*";
    cout << endl;
}
A
*****
 ****
  ***
   **
    *
B
    *
   ***
  *****
 *******
*********
C
*
**
***
****
*****
D
    *
   **
  ***
 ****
*****
语言: C++
GESP真题 二级
2025.12
单选题号: 14
EXY-SC-0012
第 3 题

下面 C++ 代码执行后,其输出是( )。

int cnt = 0;
for (int i = 0; i <5; i++)
    for (int j =i; j < 4; j++)
        cnt += 1;
cout << cnt;
A

9

B

10

C

14

D

20

语言: C++
GESP真题 二级
2025.12
单选题号: 12