#CS40904. 阅读程序9-树和图4
阅读程序9-树和图4
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第9节:树和图
第4题【NOIP】2018
#include <stdio.h>
int n, d[100];
bool v[100];
int main() {
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
07 scanf("%d", d + i);
v[i] = false;
}
int cnt = 0;
for (int i = 0; i < n; ++i) {
12 if (!v[i]) {
for (int j = i; !v[j]; j = d[j]) {
v[j] = true;
}
++cnt;
}
}
printf("%d\n", cnt);
return 0;
}
●判断题
(1)将第7行的d+i换成&d[i],程序运行不受影响。
{{ select(4-1) }}
- 正确
- 错误
(2)第12行的!v[i]与v[i]==false语句意思一致。
{{ select(4-2) }}
- 正确
- 错误
(3)程序的输出结果cnt至少等于1。
{{ select(4-3) }}
- 正确
- 错误
(4)若输人的数组d中有重复的数字,则程序会进入死循环。
{{ select(4-4) }}
- 正确
- 错误
●选择题
(5)若输入数字为5 1 2 3 4 5
,则输出为()
{{ select(4-5) }}
- 0
- 1
- 2
- 5
(6)若输入数字为10 7 1 4 3 2 5 9 8 0 6
,则输出为( )。
{{ select(4-6) }}
- 3
- 6
- 7
- 8