C语言简单编程 流程图

2024年11月20日 22:22
有3个网友回答
网友(1):

#includeint a(int w){ int t; if(k==1)t=w; if(as=1)k++; if(t==1||b(w)==1)return 0; else return 1;}int b(int w){int t;if(k==1)t=w;if(bs==1)k++;if(t==2||c(w)==1)return 0;else return 1;}int c(int t){if(k==1)t=w;if(cs==1)k++;if(t==3||(a(w)==1&&b(w)==1))return 0else return 1}void main(){int k;k=0;as=1;if(a(1)==1)printf("A tells lie.");else if(a(1)==0)printf("A tells true.");k=0;bs=1;as=0;if(b(2)==1)printf("A tells lie.");else if(b(2)==0)printf("A tells true.");k=0;bs=0;as=0;cs=1;if(c(3)==1)printf("A tells lie.");else if(c(3)==0)printf("A tells true.");} 以上是程序,我没编译过。大概流程是:设张三为A,李四为B,王五为C假定A说真话,调用a(1),递归调用一周,通过第二次调用赋值a(1)=1求出第一次调用a(1)的返回值,若a(1)==0则为说假话。同理,判断B为b(2),判断C为c(3)

网友(2):

与门 或门的问题.

网友(3):

使用穷举反证法推理:你试试看!给你画个流程图举个例子,依次类推:结论:李四真,张三和王五假