彩票游戏,从1-42挑选独特的数字

时间:2016-02-23 21:56:36

标签: c loops

我想知道你是否可以帮助我,我正在尝试制作彩票游戏,数字1-42,并且都是独一无二的。以下是我到目前为止的情况:

do
{
    printf("\n\t\tPlease enter number %d (1-42):", i+1);
    scanf("%d", &temp);


    if(temp > 0 && temp < 43)
    {
        for(j = 0; j > 6; j++)
        {
            if(temp == lottoNumbers[j])
            {
                printf("\n\n\t\tNumber already chosen, please choose a new number.\a");
            }
            else
                lottoNumbers[i] = temp;
                i++;
        }
    }
    else
        printf("\n\n\t\tPlease enter a valid number.\a");


}while(i < 6);

所以我想首先将值作为常规整数,首先测试它是否在范围内(那是有效的),然后检查它是否已经是数组的元素,如果是,则将其放入数组中增加我,问题是它似乎永远不会增加我,只是一遍又一遍地重复......似乎无法弄清楚为什么,任何想法?

1 个答案:

答案 0 :(得分:1)

试试这个

if(temp > 0 && temp < 43)
{
    for(j = 0; j < i ; j++)
    {
        if(temp == lottoNumbers[j])
        {
            printf("\n\n\t\tNumber already chosen, please choose a new number.\a");
            break;
        }
    }
    if(i == 0 || i == j){//just if(i == j)
        lottoNumbers[i++] = temp;
    }
}
else
    printf("\n\n\t\tPlease enter a valid number.\a");