共48道题,当前是第6

初赛真题

阅读以下程序,回答问题

01 #include<bits/stdc++.h>
02 using namespace std;
03 int main() {
04     int a[1001], i, j, t, n;
05     for (i = 0; i <= 1000; i++)
06         a[i] = 0;
07     scanf("%d", & n);
08     for (i = 1; i <= n; i++) {
09         scanf("%d", & t);
10         a[t]++;
11     }
12     for (i = 1000; i >= 0; i--)
13         for (j = 1; j <= a[i]; j++)
14             printf("%d ", i);
15     return 0;
16 }

1. B。
2. B。
3. A。
4. B。
5. A。
6. C。

桶排序,从⼤到⼩输出。

Question

1. 输⼊ n=10 ,输出结果是从⼩到⼤。( )

2. 该程序是⼀种基于⽐较的排序算法。( )

3. 第 13 ⾏ j = 1; j <= a[i]; j++ 中的 <= 改为 < 号,且输⼊数据为 10 2 12 33 34 1 28 7 22 9 0 ,则⽆输出。( )

4. 第 12 ⾏ for (i = 1000; i >= 0; i--) 改为 for(i = 0; i <= 1000; i++) 则程序运⾏结果不变。( )

5. 第 12 ⾏改为 for(i = 1000; i > 1; i--) ,第 13 ⾏改为 for(j = a[i]; j > 1; j--) 输⼊数据为 5 21 23 3 34 44 ,则运⾏结果( )

6. 第 10 ⾏改为 ++a[t] 或 a[t++] ,则输⼊ 5 1 2 3 4 5 ,输出结果为( )

陈伦制作 版权所无 粤ICP备16127491号-1