附偶编的程序:
/*四大淡水湖的从大到小排序*/
main()
{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);
}
觉得很不理想,谋求比这好的方法!谢谢