第十五届全国青少年信息学奥林匹克联赛初赛试题答案

我要答案

NOIP2009初赛普及组(C语言、PASCAL语言)参考答案与评分标准

一、单项选择题:(每题1.5分)

1. D 2. B 3. A 4. A 5. B

6. D 7. C 8. B 9. C 10. D

11. C 12. C 13. B 14. D 15. D

16. B 17. D 18. A 19. C 20. B

二、问题求解:(共2题,每空5分,共计10分)

1.70

2.5

三、阅读程序写结果(共4题,每题8分,共计32分)

1. 4

2. 416

3. 782

4. NPOI

四.完善程序 (前8空,每空3分,后2空,每空2分,共28分)

(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)

C语言:

1.

① 0

② tmp+a[i]==ans 或者 a[i]+tmp==ans 或者ans==a[i]+tmp等

③ <0

④ i

⑤ tmp+=a[i] 或者 tmp=tmp+a[i]

2.

① 0

② hash[i][j]++ 或者 hash[i][j]= hash[i][j]+1 或者 ++hash[i][j]

③ work(x,y,tot+1)

④ hash[i][j]-- 或者 hash[i][j]= hash[i][j]-1 或者--hash[i][j]

⑤ work(0,0,0)

注意:② ④ 两空,不一定要++ 或者 - -。也可以是④ - - , ② ++. 也可以是 += k , 也可以 -= k, 甚至任何加标记的操作(如位运算)都可以,只要相互撤销。(所以答案非常多)。

PASCAL语言:

1.

① 0

② tmp+a[i]=ans或者 a[i]+tmp=ans 或者ans=a[i]+tmp等

③ <0

④ i

⑤ inc(tmp, a[i])或者tmp := tmp+a[i]

2.

① 0

② inc(hash[i, j])或者 hash[i][j]:= hash[i][j]+1

③ work(x,y,tot+1)

④ dec(hash[i, j]) 或者 hash[i][j]:= hash[i][j]-1

⑤ work(0,0,0)

注意:② ④ 两空,不一定要+1 或者 -1。也可以是④ -1 , ② +1. 也可以是 + k , 也可以 - k, 甚至任何加标记的操作(如位运算)都可以,只要相互撤销。(所以答案非常多)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-17
我是学C语言的
一.
1~5 DBAAB
6~10 DCBCD
11~15 CCBDD
16~20 BDACB
二.
1.70
2.5
三.
1.4
2.416
3.782
4.NPOI
四.
题一
①.0
②.tmp+a[i]==ans
③.<0
④.i
⑤.tmp+=a[i]
题二
①.0
②.hash[i][j]++;
③.work(x,y,tot+1);
④.hash[i][j]--;
⑤.work(0,0,0)
就是这样老师报的答案本回答被提问者采纳