c语言逻辑问题,四大湖的具体大小
# include & ltiostream & gt//预编译命令
使用命名空间std
Int main() //主函数
{//主函数的开始
int Dt,Hz,Py,Th,sum[4]={0,0,0,0 };//定义变量
查尔湖[5][10];
//Dt代表洞庭湖,Hz代表洪泽湖,Py代表鄱阳湖,Th代表太湖。
//列举四大湖排名的所有可能,分别用1,2,3,4表示大小关系。
//1是最大值,4是最小值。
for(Dt = 1;Dt & lt=4;Dt++){
for(Hz = 1;Hz & lt=4;Hz++){
中频(Dt==Hz)
继续;//湖泊的面积各不相同。
for(Py = 1;Py & lt=4;Py++){
if(Py==Hz || Py==Dt)
继续;//湖泊的面积各不相同。
th = 10-Dt-Hz-Py;//计算太湖的排名
sum[0]=(1 = = Dt)+(4 = = Hz)+(3 = = Py);//A说了什么
sum[1]=(1 = = Hz)+(4 = = Dt)+(2 = = Py)+(3 = = Th);//b所说的
sum[2]=(4 = = Hz)+(3 = = Dt);//c所说的
sum[3]=(1 = = Py)+(4 = = Th)+(2 = = Hz)+(3 = = Dt);//d所说的
if(sum[0]= = 1 & amp;& ampsum[1]= 1 & amp;& ampsum[2]= 1 & amp;& ampsum[3]==1){
Strcpy(湖[Dt],《洞庭湖》);//按排名赋值
Strcpy(湖[Hz],《洪泽湖》);
Strcpy(湖[Py],《鄱阳湖》);
Strcpy(湖[Th],《太湖》);
}
}
}
}
for(int I = 1;我& lt=4;i++){
cout & lt& lt湖[I]& lt;& ltendl//从大到小输出
}
返回0;//主函数结束
}
第二种(C语言):
# include & ltstdio.h & gt
int main(void)
{
int a,b,c,d;/*四湖序号,表示洞庭湖、洪泽湖、鄱阳湖、太湖*/
for(a = 1;a & lt5;A++) /*分别给四个湖的排名赋值*/
for(b = 1;b & lt5;b++)
for(c = 1;c & lt5;c++)
for(d = 1;d & lt5;d++)
if(a+b+c+d = = 10 & amp;& ampa * b * c * d = = 24)/* ABCD的值互不相等,即没有并列*/
if(a = = 1 & amp;& ampb!= 4 & amp& ampc!=3||a!=1。& ampb = = 4 & amp& ampc!=3||a!=1。& ampb!= 4 & amp& ampC==3) /*A */
if(b = = 1 & amp;& amp答!= 4 & amp& ampc!= 2 & amp& ampd!=3||b!=1。& ampa = = 4 & amp& ampc!= 2 & amp& ampd!=3 ||b!=1。& amp答!= 4 & amp& ampc = = 2 & amp& ampd!=3||b!=1。& amp答!= 4 & amp& ampc!= 2 & amp& amp如果d==3) /*B */
if(b = = 4 & amp;& amp答!=3||b!= 4 & amp& amp如果a==3) /*C */
if(c = = 1 & amp;& ampd!= 4 & amp& ampb!= 2 & amp& amp答!=3||c!=1。& ampd = = 4 & amp& ampb!= 2 & amp& amp答!=3 ||c!=1。& ampd!= 4 & amp& ampb = = 2 & amp& amp答!=3||c!=1。& ampd!= 4 & amp& ampb!= 2 & amp& amp如果a==3) /*D */
Printf("四湖大小顺序:\n洞庭湖:%d\n洪泽湖:%d\n鄱阳湖:%d\n太湖:%d\n ",a、b、c、d);
返回0;
}