#NOI1991A. 第一题

第一题

当前没有测试数据。

Description

人和计算机作猜数游戏。人默想一个位数,由计算机来猜。计算机将所猜的数

显示到屏幕上,并问两个问题:

1.有几个数字猜对了?

2.猜对的数字中有几个位置也对?

人通过键盘来回答这两个问题。计算机一次又一次地猜,直到猜对为止。

比如人默想的一个数是5122,假定计算机第一次猜1166,然后问你:

(1)有几个数字猜对了?

(2)猜对的数字中有几个位置也对?

假定计算机第二次猜1287,然后问你:

(1)有几个数字猜对了?

(2)猜对的数字中有几个位置也对?

如果计算机最后一次猜5122,然后你:

(1)有几个数字猜对了?

(2)猜对的数字中有几个位置也对?

则表示猜完了。计算机显示最后猜中的数,并报告并猜了多少次。

问题1 编程实现这样一个猜四位数的游戏程序。屏幕显示格式为:

第二行显示计算机所猜的四位数

第三行提问猜对的数字个数,用“Number: ”

第四行提问位置对的数字个数,用“Position: ”

第五行显示当前已猜的步数,用“Step xx”

注:其中方框中的数字由键盘输入。最后给出结束信息,其它由编程者自定。

问题2 仍然是这样一个游戏,但要求计算机既是猜数者,又要模拟默想这个数的人(要猜的数由键盘输入)。屏幕显示格式为:

第一行显示人所默想的数,用“ ” xxxx

第二行至第五行同问题①,只不过方框内的数不再由键盘输入,而是计算机判断后自动显示。

问题3 从文本文件GUESS.DAT中读入20个四位数,一个接一个地

让计算机猜,统计猜中所需的总步数。