运行结果:
5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)?2
3、4、6
比
1、2、5:
(输入0等,1轻,2重)?1
5、4
比
11、12
(输入0:等,1轻,2重)?2
假币5重
源程序:
#include
<stdio.h>
void
badcoin(int
x,
int
a)
{
switch(a)
{
case
0:
printf("错误输入")
break
case
1:
printf("假币%d轻",x)
break
case
2:
printf("假币%d重",x)
break
}
}
void
badcoin1(int
x)
{
int
a,
good
for(good=1
good==x
good++){}
printf("%d是假币,
%d
比
%d
(输入:1轻,2重)?",x,x,good)
scanf("%d",&a)
badcoin(x,a)
}
void
badcoins2(int
x,
int
y,
int
a)
{
int
b,
good
for(good=1
good==x
||
good==y
good++){}
printf("%d,%d当中有一个假币",x,y)
switch(a)
{
case
1:
printf("(轻),其中
%d
比
%d
(输入0:等,1轻)?",x,good)
break
case
2:
printf("(重),其中
%d
比
%d
(输入0:等,2重)?",x,good)
break
}
scanf("%d",&b)
if(b==0
||
b==a)
{
switch(b)
{
case
0:
badcoin(y,a)
break
case
1:
case
2:
badcoin(x,b)
break
}
}
else
{
printf("输入错误\n")
}
}
void
badcoins3(int
x,
int
y,
int
z,
int
a)
{
/*
z偏a,或者败竖伍x和y当中一个偏非a
*/
int
b
printf("%d、%d
比
11、12
(输入0:等,1轻,2重)?",z,y)
scanf("%d",&b)
if(b==0)
badcoin(x,a==1?2:1)
else
badcoin(b==a?z:y,b)
}
main()
{
int
a,b
printf("5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)?")
scanf("纤举%d",&a)
if(a==0)
{
printf("9、10、11
比
1、2、3:
(输入0等,1轻,2重)?")
scanf("%d",&a)
if(a==0)
{
badcoin1(12)
}
else
{
printf("10
比
9(输察或入0等,1轻,2重)?")
scanf("%d",&b)
if(b==0)
badcoin(11,a)
else
badcoin(a==b?10:9,a)
}
}
else
{
printf("3、4、6
比
1、2、5:
(输入0等,1轻,2重)?")
scanf("%d",&b)
if(b==0)
{
badcoins2(7,8,a)
}
else
{
if(a==b)
badcoins3(1,2,6,a)
else
badcoins3(3,4,5,a)
}
}
}
#include <败咐stdio.h>int main()
{
char c
while((c=getchar())!='\n')
printf("%d"伏历,c)
printf("察厅纯\n")
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)