1. 程式人生 > >生成0~9之間不重復的隨機數

生成0~9之間不重復的隨機數

print pre i++ time flag rand 之間 brush 循環

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這種類型的,一會就繞暈了。

生成0~9之間不重復的隨機數