万卷网 > 题目详情
题型:单选题

某学校举办“十佳歌手大奖赛”,经过选拔最终参赛选手有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 。

更新时间:2026-07-21 11:19:37 |
【知识点】 CCF—GESP C++二级

相似题推荐

单选题

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

int cnt = 0, N;
for (int i =1; i < 10; i += 2)
	for (int j =0; j < i; j++)
		cnt += 1;
cout << cnt;
A.

100

B.

55

C.

45

D.

25

2026-07-22
单选题

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

int i,j;
for (i = 1; i < 12; i++){
	if (i % 2 == 0)
		continue;
	for (j = 0; j < i; j++)
		if (i * j % 2 == 0)
			break;
	if(j >= i)
		cout << i * j << " ";
}
if(i >= 12)
	cout << (i * j);
A.

0 0

B.

11

C.

0

D.

0 11

2026-07-22
单选题

下面有关C++变量的说法,正确的是( )。2025.12-2

A.

不可以用 for 作为变量名,因为 for 是C++的关键字(保留字)。

B.

_tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。

C.

_tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。

D.

可以用 printf 作为变量名,因为 printf 是关键字,但这不是好习惯,因为 printf 有约定的功能与含义。

2026-07-22
判断题

鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( )2025.12-2

A.正确 B.错误
2026-07-22
单选题

阅读下面的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.
    *
   **
  ***
 ****
*****
2026-07-22
公众号
客服 反馈
顶部