标题:难倒名牌大学生的题!你试试
只看楼主
wangrong03
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-10-14
得分:0 
呵呵 ,楼上的朋友同情你啊!不过程序写的很不错!

2005-10-14 13:34
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
应那位坛友要求第二个问题的程序来了!!
#include <iostream.h>
#include <stdlib.h>
struct person
{
 char name[10];
 int feasibility;
};
person suspect[6]={{'A',0},{'B',0},{'C',0},{'D',0},{'E',0},{'F',0}};
char b[6];
int x=0;
main()
{
 for(int j=0;j<2;j++)
 {
  if(suspect[2].feasibility ==suspect[3].feasibility) //C、D中有且仅有一人做案
  {
   if(x==0)
    suspect[2].feasibility=1;      //假设C做案
   if(x==1)
    suspect[3].feasibility=1;    //假设D做案
  }
  if(suspect[1].feasibility!=suspect[2].feasibility) //B、C或同时作案,或与本案无关
   if(suspect[2].feasibility==1)
    suspect[1].feasibility=1;
  if(suspect[0].feasibility==0&&suspect[4].feasibility==0&&suspect[5].feasibility==0 )  //A、E、F三人中至少有两人参与作案
  {
   suspect[0].feasibility=1;
   suspect[4].feasibility=1;
   suspect[5].feasibility=1;
   if(suspect[3].feasibility==1)  //A、D不可能是同案犯
    suspect[0].feasibility=0;
   if(suspect[3].feasibility==0)  //如果D没有参与作案,则E也不可能参与作案
    suspect[4].feasibility=0;
  }
  if(suspect[0].feasibility==0&&suspect[1].feasibility==0)
  {
   cout<<"错误!!A B不可能一个都不是嫌疑人.所以D假设不成立!!"<<endl;
   cout<<"罪犯为以上那几号人物!!"<<endl;
   exit(0);
  }
  for(int a=0;a<6;a++)
  {
   if(suspect[a].feasibility==1)
   {
    cout<<suspect[a].name<<endl;
   }
   suspect[a].feasibility=0;
  }
  x++;
 }
 
}

=×&D o I p R e E n C g T l X&×=
2005-10-15 12:03
shanglan123
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-10-16
得分:0 
你真行啊,版主,好样的,向你学习啊!
2005-10-21 20:45
jdytz
Rank: 2
等 级:新手上路
威 望:3
帖 子:104
专家分:0
注 册:2005-4-24
得分:0 
Bjarne 明明就是C出身嘛~~~
虽然我学的是c++不过类根本不会用。。。

``` 奔放潇洒活着我的自由
2005-10-21 21:58
84819986
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-10-30
得分:0 
顶起顶起   我就是名牌大学的计算机专业的 不会做啊  还是你们叼列
2005-10-31 00:51
不走寻常路
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-9-26
得分:0 
二楼的太复杂了,那是一个不用十行就能解决的问题!

学C不长,但很喜欢,梦想能成为编程一族! qq: 83461951 欢迎来指教!
2005-10-31 11:59
lsw111
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-9-2
得分:0 

请问二楼 结构中的n是什么意思啊???

2005-10-31 16:59
lsw111
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-9-2
得分:0 
请问 二楼的 那个n是什么意思啊????
有人解释一下吗???
谢谢!!!!
2005-11-03 17:10
gfx020
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-4
得分:0 

看了一下第一个问题的回复,程序写的不错,是利用了两个人如果说一样的话,那么,其中一定有一个人说的是对的,它的意思就是,N=0代表说是别人,N=1代表说是A,依次类推了三个人的说法,如果能够通过IF语句,就一定是剩下的那个人了。
想法很好,暂时还没有想到更好的方法,但我觉得应用到实际中还是用词法分析的方法更好一些,但这个兄弟的方法也不错,支持一下。

2005-11-04 19:28
gfx020
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-4
得分:0 

第二个问题的代码没有第一个的一般性好,只是对这个问题的一个模拟自己思维的描述,这不是编程的好习惯。虽然,我也是这么编的,编出的程序一定和那们版主一样,但还是想能做出更好程序。

2005-11-04 19:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-28289-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.797423 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved