呵呵 ,楼上的朋友同情你啊!不过程序写的很不错!
应那位坛友要求第二个问题的程序来了!!
#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++;
}
}