C语言,用1-6这6个自然数组成一个三角形,三角形三条边值的和相等,我的代码哪里错了?【急求】

#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,d,e,f;
for(a=1;a<=6;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
for(d=1;d<=6;c++)
for(e=1;e<=6;e++)
for(f=1;f<=6;f++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&
b!=c&&b!=d&&b!=e&&b!=f&&
c!=d&&c!=e&&c!=f&&
d!=e&&d!=f&&
e!=f)
if(a+b+c==c+d+e&&c+d+e==e+f+a)
printf("%d %d %d %d %d %d\n",a,b,c,d,e,f);
system("pause");
return 0;
}

//在你的源程序上修改,只有一个笔误,更正这个,调试成功
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,d,e,f;
for(a=1;a<=6;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
for(d=1;d<=6;d++) //此处笔误,应该是d
for(e=1;e<=6;e++)
for(f=1;f<=6;f++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&
b!=c&&b!=d&&b!=e&&b!=f&&
c!=d&&c!=e&&c!=f&&
d!=e&&d!=f&&
e!=f)
if(a+b+c==c+d+e&&c+d+e==e+f+a)
printf("%d %d %d %d %d %d\n",a,b,c,d,e,f);
system("pause");
return 0;
}追问

改了一个晚上没改成, 你一提醒我就找到了,谢谢了~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-03
我眼睛都看花了
//明确两个地方:任意边的和为12;
//4,5,6只能分散在三个顶点上,不然有的边会不够
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
    int a,b,c,d,e,f;
    srand((unsigned int)time(NULL));
    while(1){
        a=rand()%3+4;
        c=rand()%3+4;
        f=15-a-c;
        if(c>0&&a!=c)
        break;
    }
    b=12-a-c;
    d=12-a-f;
    e=12-f-c;
    printf("%2d  %2d  %2d \n",a,b,c);
    printf("  %2d  %2d   \n",d,e);
    printf("    %2d     \n",f);
    return 0;
}

相似回答