아이큐 테스트하는 문제를 for문과 if문을 이용해서 풀어보려는데 잘 안되네요.
제가 풀려는 방법은 1~9까지의 수를 다 대입하는 방식으로해서 조건 만족 시키면 num[0]~num[8]까지의 값을 출력하는 것인데 어디가 문제가 있는건가요? 실행은 되는데 실행시키면 오류가 떠요.

질문 정리
1. 제가 작성한 것에서 어디가 오류가 있고 어떻게 고쳐야 할까요?
2. 저 문제를 풀 수 있는 더 좋은 방법이 있을까요? 있다면 코드만 올려주시면 안될까요? 제가 직접 분석해보고 싶습니다. 현재 저는 c언어 열혈강의 책밖에 공부 안해봤어요. 헤더파일도 stdio.h밖에 모르는 상태;
3. 제 방식 원시인?

아이큐 테스트 문제 링크 : http://memorist.tistory.com/39

#include <stdio.h>

int main(void)
{
int num[9];
int a=0,b=0;

for(num[a]=1;num[a]<10;num[a]++)//num[0]
{
a+=1;//a=1
for(num[a]=1;num[a]<10;num[a]++)//num[1]
{
a+=1;//a=2
for(num[a]=1;num[a]<10;num[a]++)//num[2]
{
a+=1;//a=3
for(num[a]=1;num[a]<10;num[a]++)//num[3]
{
a+=1;//a=4
for(num[a]=1;num[a]<10;num[a]++)//num[4]
{
a+=1;//a=5
for(num[a]=1;num[a]<10;num[a]++)//num[5]
{
a+=1;//a=6
for(num[a]=1;num[a]<10;num[a]++)//num[6]
{
a+=1;//a=7
for(num[a]=1;num[a]<10;num[a]++)//num[7]
{
a+=1;//a=8
for(num[a]=1;num[a]<10;num[a]++)//num[8]
{
if((10*num[0]+num[1])*num[2] == 10*num[3]+num[4],
num[3]*10+num[4]+10*num[5]+num[6] == 10*num[7]+num[8],
num[0]!=num[1]!=num[2]!=num[3]!=num[4]!=num[5]!=num[6]!=num[7]!=num[8])//num[0]~num[8]은 모두 같지 않다.
{
for(b=0;b<9;b++)
printf("num[%d] = %d",b,num[b]);//조건을 충족시키는 num[0]~num[8]까지 출력
break;
}
}
}
}
}
}
}
}
}
}

return 0;
}