我想知道你是否可以帮助我,我正在尝试制作彩票游戏,数字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);
所以我想首先将值作为常规整数,首先测试它是否在范围内(那是有效的),然后检查它是否已经是数组的元素,如果是,则将其放入数组中增加我,问题是它似乎永远不会增加我,只是一遍又一遍地重复......似乎无法弄清楚为什么,任何想法?
答案 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");