pascal编程问题
1.编程画出如下图形:如N=51234543211234321123211211如N=712345676543211234565432112345432112343211...
1.编程画出如下图形:
如N=5
123454321
1234321
12321
121
1
如N=7
1234567654321
12345654321
123454321
1234321
12321
121
1
2.警察局抓了A、B、C、D四名嫌疑犯,其中有一个是小偷,审问中:
A说:“我不是小偷。”
B说:“C是小偷。”
C说:“小偷肯定是D”。
D说:“C冤枉人!”
已知三人说的是真话,一人说的是假话,问到底谁是小偷。
(我已经知道C是小偷,请用PASCAL编程写出答案)。 展开
如N=5
123454321
1234321
12321
121
1
如N=7
1234567654321
12345654321
123454321
1234321
12321
121
1
2.警察局抓了A、B、C、D四名嫌疑犯,其中有一个是小偷,审问中:
A说:“我不是小偷。”
B说:“C是小偷。”
C说:“小偷肯定是D”。
D说:“C冤枉人!”
已知三人说的是真话,一人说的是假话,问到底谁是小偷。
(我已经知道C是小偷,请用PASCAL编程写出答案)。 展开
1个回答
2008-11-21
展开全部
用一个循环依次将thief赋值为a,b,c,d(即将a,b,c,d分别假定为小偷去检验),又因为
ord(true)=1
ord(false)=0
原题已说三人说的是真话,一人说的是假话
所以如果当thief被赋的值就是小偷时,thief<>'a', thief='c',thief='d',thief<>'d'这几个布尔变量就有3个为true,一个为false
所以ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 这时就读出 writeln('the thief is',' ',thief);
ord(true)=1
ord(false)=0
原题已说三人说的是真话,一人说的是假话
所以如果当thief被赋的值就是小偷时,thief<>'a', thief='c',thief='d',thief<>'d'这几个布尔变量就有3个为true,一个为false
所以ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 这时就读出 writeln('the thief is',' ',thief);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询