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这种类型的,一会就绕晕了。