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

猜你喜欢

转载自www.cnblogs.com/yfish/p/9834001.html