#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i, r, j, c=0, n[6];
do {
r=rand()%42+1;
for(j=0;j<c;j++) {
if(c==0) break;
if(r==n[j]) break;
}
if(j==c) {
n[c]=r;
c++;
}
} while(c<6);
printf("%d %d %d %d %d %d", n[0], n[1], n[2], n[3], n[4], n[5]);
return 0;
}


ロト6の数字をランダムに作り出すプログラムを作ろうと思ってます。
何度やっても同じ数字しか出ないのですが、プログラム的な問題なんでしょうか?