当前位置:首页 » 编程语言 » 四大湖问题c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

四大湖问题c语言

发布时间: 2022-01-15 07:22:41

1. c语言解四大湖泊 甲说:“最大洞庭湖,最小洪泽湖,潘阳湖第三;乙说

#include<stdio.h>

int main()

{int d,h,p,t;

for(d=1;d<5;d++)

for(h=1;h<5;h++)

if(h!=d)

for(p=1;p<5;p++)

if(p!=d&&p!=h)

{t=10-d-h-p;

if(((d==1)+(h==4)+(p==3)==1)&&((h==1)+(d==4)+(p==2)+(t==3)==1))

if(((h==4)+(d==3)==1)&&((p==1)+(t==4)+(h==2)+(d==3)==1))

{printf("洞庭湖:No.%d 洪泽湖:No.%d ",d,h);

printf("鄱阳湖:No.%d 太湖:No.%d ",p,t);

}

}

return 0;

}

2. C语言求四大湖问题

可以从C那人说的入手。他只说了两个,其中有一个是对的,用if else判断,然后再对A判断,在B,在D逐个排除。就这样。

3. 关于四大湖的C语言的For循环问题!!!!!!

#include<stdio.h>
#include<stdlib.h>
intmain()
{
intd,h,p,t;//去掉末尾逗号
for(d=1;d<=4;d++)
{
for(h=1;h<=4;h++)
{
for(p=1;p<=4;p++)
{
for(t=1;t<=4;t++)
{
if((d!=h&&d!=p&&d!=t&&h!=p&&h!=t&&p!=t)
&&((d==1)+(h==4)+(p==3))==1
&&((h==1)+(d==4)+(p==2)+(t==3)==1)
&&((h==4)+(d==3)==1)
&&((p==1)+(t==4)+(h==2)+(d==3)==1)
&&((d+h+p+t)==10)
)
{
printf("%d%d%d%d ",d,h,p,t);//语法错误
}
}
}
}
}
system("pause");
}

上面是更正后的代码。

括号是控制作用域的,多层for循环的最内层只有if else 没有其他语句,for的括号加不加都一样。从测试结果来看,输出结果也相同。

4. C语言逻辑问题,四大湖泊比大小

第一种(C++):
#include<iostream> //预编译命令
using namespace std;
int main() //主函数
{ //主函数开始
int Dt,Hz,Py,Th,sum[4]={0,0,0,0}; //定义变量
char lake[5][10];
//Dt表示洞庭湖,Hz表示洪泽湖,Py表示鄱阳湖,Th表示太湖
//穷举四大湖排名的所有可能,用1、2、3、4分别来表示它们的大小关系
//1最大,4最小
for(Dt=1; Dt<=4; Dt++){
for(Hz=1; Hz<=4; Hz++){
if(Dt==Hz)
continue;//湖的面积各不相同
for(Py=1; Py<=4; Py++){
if(Py==Hz || Py==Dt)
continue;//湖的面积各不相同
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 && sum[1]==1 && sum[2]==1 && sum[3]==1){
strcpy (lake[Dt], "洞庭湖");//按排名赋值
strcpy (lake[Hz], "洪泽湖");
strcpy (lake[Py], "鄱阳湖");
strcpy (lake[Th], "太湖");
}
}
}
}
for(int i=1;i<=4;i++){
cout<<lake[i]<<endl;//从大到小输出
}
return 0;//主函数结束
}

第二种(c语言):
#include<stdio.h>
int main(void)
{
int a,b,c,d; /*四湖的顺序数,分别表示洞庭湖,洪泽湖,鄱阳湖,太湖*/
for(a=1;a<5;a++) /*对四湖排名分别赋值*/
for(b=1;b<5;b++)
for(c=1;c<5;c++)
for(d=1;d<5;d++)
if(a+b+c+d==10&&a*b*c*d==24) /*限定abcd的值互不相等,即不出现并列的情况*/
if(a==1&&b!=4&&c!=3||a!=1&&b==4&&c!=3||a!=1&&b!=4&&c==3) /*A的话*/
if(b==1&&a!=4&&c!=2&&d!=3||b!=1&&a==4&&c!=2&&d!=3 ||b!=1&&a!=4&&c==2&&d!=3||b!=1&&a!=4&&c!=2&&d==3) /*B的话*/
if(b==4&&a!=3||b!=4&&a==3) /*C的话*/
if(c==1&&d!=4&&b!=2&&a!=3||c!=1&&d==4&&b!=2&&a!=3 ||c!=1&&d!=4&&b==2&&a!=3||c!=1&&d!=4&&b!=2&&a==3) /*D的话*/
printf("四湖的大小顺序:\n洞庭湖:%d\n洪泽湖:%d\n鄱阳湖:%d\n太湖:%d\n",a,b,c,d);
return 0;
}