正文

2005年6月20日 第24期电脑报 编程点将台2005-06-26 17:30:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xiangyu/2119.html

分享到:

上周的电脑报因为回家到昨天才拿到报纸,把里面的编程点将做了一下,现在贴出来,以享读者。(这周的题目好像有点过分简单了,^_^)呵呵,突然发现这道题在我收集的C语言程序百例里面的第50题就是,但里面的编码好像没有我的简单明了,大家可以比较参考一下。题目:张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎。现在问:这三人中到底谁说的是真话,谁说的是假话?安安注:源程序写的不是很规范,其中有一语句还错了,谢谢“波涛 ”的提醒。我的程序:/*算法思想:题目用整型zhs、lis、waw分别表示张三、李四和王五,数值1表示说真话,数值0表示说谎。由题目可知,张三和李四互逆,也就是张三说谎则李四说真,反之;李四和王五互逆,因此lis=!zhs,waw=!lis。采用C++编程,在VC++6.0上通过运行,结果:李四说真话;张三和王五说假话*/ #include<iostream>using namespace std;int main(){    int i,zhs,lis,waw;    for(i=0;i<2;i++)    {        zhs=i;        lis=!zhs;        waw=!lis;        if(waw==1&&zhs==0&&lis==0)//原来错了,谢谢“波涛 ”的提醒。            cout<<"王五说真话;张三和李四说谎"<<endl;        if(waw==0&&(zhs==1||lis==1))        {            if(zhs==1)                cout<<"张三说真话;李四和王五说假话"<<endl;             else cout<<"李四说真话;张三和王五说假话"<<endl;        }    }     return 0;}

阅读(6097) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册