#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int i,j,n[10];//所以要把10次陣列存起來
for(i=1;i<=10;i++)
{
do
{
n[i-1]=rand()%10+1;//產生1~10亂數
//n[從0號開始編],我們把他記來,然後要做檢查
for(j=1;j<i;j++)//不想讓亂數有重覆
//第五次,檢查1~4次有沒有出現過,再丟一次就可能產
//生不一樣的數字
{
if(n[i-1]==n[j-1])
{
break;//結束for loop
}
}
}while(j!=i);
//如果已經做過了,至少做一次,重覆繼續丟,
//沒有出現過,繼續印下一輪的i
//我用for去判斷,用if檢查
//例如:i是5存在n[4],我只要檢查前面1~4即可
//j要去比對,從1開始比是否有出現過
//i跟j(都是從1開始編,目前10個中的第幾個)都是代表第幾個,n是從第0個開始編
//兩個值一樣,代表值已經出現過,就要繼續exe
//如果不成立,while就跳出
printf("%d ",n[i-1]);
}
printf("\n");
return 0;
}
沒有留言:
張貼留言