最后一个判断条件
if(a+b+c==c+d+e&&a+b+c==a+f+e)然后运行得到了预期结果
但是我改成了
if(a+b+d==d+e+f&&a+b+d==a+c+f)却没有得到结果
不理解为什么abcdef的顺序不同影响结果
供参考:
#include<stdio.h>
int main()
{
int a, b, c, d, e, f, k = 0;
for (a = 1; a <= 6; a++)
for (b = 1; b <= 6; b++)
for (c = 1; c <= 6; c++)
for (d = 1; d <= 6; d++)
for (e = 1; e <= 6; e++)
for (f = 1; f <= 6; f++)
if ((d + b) == (e + c) && (a + d) == (f + c) && (a + e) == (b + f))
{
k++;
printf(" (a=%d)\n",a);
printf(" / \\ \n");
printf(" (d=%d) (e=%d)\n", d, e);
printf(" / \\ \n");
printf("(b=%d)-(f=%d)-(c=%d)\n\n", b, f, c);
//printf("a=%d,b=%d,c=%d,d=%d,e=%d,f=%d\n",a, b, c, d, e, f);
}
printf("共有: %d 种排列.\n", k);
return 0;
}
把题贴完整点,看的云里雾里
if(a+b+c=c+d+e&&a+b+c=a+f+e) 这里是判断是否相等,不是用'=',修改为:if( a+b+c == c+d+e && a+b+c == a+f+e)
1-6个数字让三角形三边和相等?什么意思,没看懂