int main(void)
{
int m[9] = { 0 };
int flag = 0;
srand(time(0));
for (int i = 0; i < 9; i++)
{
do
{
flag = 0;
m[i] = rand() % 9 + 1;
for (int j = 0; j < i; j++)
{
if (m[j] == m[i])
{
flag = 1;
}
}
} while (flag==1);
}
for (int i = 0; i < 9; i++)
{
printf("%d ",m[i]);
}
}
那句flag=0很关键。
感觉自己while循环用的不是很好呀,尤其是while里面用了if这种类型的,一会就绕晕了。