我国有4大淡水湖。
A说:洞庭湖最大,洪泽最小。鄱阳湖第三。
B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二。太湖第三。
C说:洪泽湖最小,洞庭湖第三。
D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。
4个人每人仅答对了一个,请你编程给出4个湖从大到小的顺序。
利用枚举法以及逻辑表达式的返回值求解问题
#include <stdio.h>
#include <string.h>
int main()
{
int DT,HZ,PY,TH;
int a, b, c, d;
char lake[10][100];
int sum;
for (DT = 1; DT <= 4; DT++)
{
for (HZ = 1; HZ <= 4; HZ++)
{
if(HZ==DT) continue;//湖的面积不能相等
for (PY = 1; PY <= 4; PY++)
{
if(PY==HZ || PY==DT) continue;
for (TH = 1; TH <= 4; TH++)
{
if(TH==HZ || TH==DT ||TH==PY) continue;
if (((DT==1)+(HZ==4)+(PY==3))==1&&((HZ==1)+(DT==4)+(PY==2)+(TH==3))==1
&&((HZ==4)+(DT==3))==1 &&((PY==1)+(TH==4)+(HZ==2)+(DT==3))==1)
{
strcpy (lake[DT], "洞庭湖");
strcpy (lake[HZ], "洪泽湖 ");
strcpy (lake[PY], "鄱阳湖");
strcpy (lake[TH], "太湖");
}
}
}
}
}
for (int i = 1; i <=4; i++)
{
printf("%s\n",lake[i]);
}
return 0;
}
运行结果: