这个问梁团题,采用穷举法,用变量的值1代表是,变量橡稿橘的值0代表否。敬州
下面是程序的代码和运行的结果。
#include
int main()
{ int a,b,c,d,e,f,n,t=0
scanf("%d",&n)
for(a=1a>-1a--)
for(b=1b>-1b--)
for(c=1c>-1c--)
for(d=1d>-1d--)
for(e=1e>-1e--)
for(f=1f>-1f--)
if((a+b+c+d+e+f==1)&&(a==0)+(c==1)+(d==1)+(d==0)+(c+e==1)+(d+e==0)==n)
{ if(t)printf(" or ")
if(a)printf("A")
if(b)printf("B")
if(c)printf("C")
if(d)printf("D")
if(e)printf("E")
if(f)printf("F")
t=1
}
printf("\n")
return 0
}
i 表示 谁做了好事。n 表示说真话的人数
i=1,2,3,4
表示依次 假设 其中塌搏一个人 做了好轿衫首事。 再看n是不是 3, 是3 则满足要闭数求 ,表示3个人 说真话
做了好事不留名,意思就是有一个人说了谎话,因此分四种情况,以ABCD分别说了谎为四个条件来算,最后输缓磨出满足的结果。正确程序如下:#include<stdio.h>
void main()
{
char h
for(h='A'h<='D'h++)
{if(h!='A'&&h=='C'&&h=='D'&&h=='D')
printf("%c\n",h)
if(h!='A'&&h=='C'&&h!=正哪滚'D'&&h!='D')
printf("%c\n",h)
if(h!='A'&&h!='C'&&h=='D'&&h!='举余D')
printf("%c\n",h)
if(h=='A'&&h=='C'&&h=='D'&&h!='D')
printf("%c\n",h)
}
}供参考:)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)