程序设计进阶 编程题#2:四大湖

来源:互联网 发布:Windows卸载bash 出错 编辑:程序博客网 时间:2024/05/01 08:42
描述

我国有4大淡水湖。

A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。

B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。

C说:洪泽湖最小,洞庭湖第三。

D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。

已知这4个湖的大小均不相等,4个人每人仅答对一个,

请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。

输入

无。

输出

输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。


代码如下:

#include<stdio.h>int f(int a,int b,int c,int d){    for(a=1;a<=4;a++)   //穷举各种情况        for(b=1;b<=4;b++)              for(c=1;c<=4;c++)                for(d=1;d<=4;d++)                     if((a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)   //每个湖的排名各不相同                          &&(((b==1)+(d==4)+(a==3))==1)      //4个每人仅答对一个                          &&(((d==1)+(b==4)+(a==2)+(c==3))==1)                          &&(((d==4)+(b==3))==1)                          &&(((a==1)+(c==4)+(d==2)+(b==3))==1)                          &&((a+b+c+d)==10))                      printf("鄱阳湖:%d\n洞庭湖:%d\n太湖:%d\n洪泽湖:%d\n",a,b,c,d);    return 0;}int main(){    int P,D,T,H;    f(P,D,T,H);    return 0;}


0 0
原创粉丝点击