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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM