我正在写一个算法,从1到60随机抽取数字,其中将有6个数字不重复,但是,我有以下错误“预期标识符或'('在'返回'之前”,因为我是新的编程,我找不到问题。如果你能帮助我将不胜感激。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int numeroRandomicoNaoRepetido(int sorteioMega[6]) {
int numeroSorteado;
int x;
for (x = 0; x <= 6; x++) {
srand(time(NULL));
numeroSorteado = rand();
}
return numeroSorteado;
}
int main()
{
int sorteioMega[6];
int x;
for ( x = 0; x < 6; x++)
{
sorteioMega[x] = numeroRandomicoNaoRepetido(sorteioMega);
}
printf("Numeros sorteados de 1 a 60 da Mega Sena\n");
for (x = 0; x < 6; x++)
{
if (sorteioMega[x] <= 60) {
printf("%i ,", sorteioMega[x]);
} else {
numeroRandomicoNaoRepetido(sorteioMega);
}
}
}
return 0;
}
字符串
这是密码
该程序应该从1到60绘制6个数字。
1条答案
按热度按时间nmpmafwu1#
源代码没有正确对齐,在
return
语句之前有一个额外的}
,因此该语句出现在全局范围内,这是不正确的。错误消息令人困惑,这是一个实现质量问题。
还请注意这些备注:
srand(time(NULL));
应该只被调用一次来初始化伪随机数生成器。如果是这样的话,你很可能会得到6个相同的数字。numeroRandomicoNaoRepetido
应该在循环中将数字存储到sorteioMega[x]
中,并验证该数字是否已经存在。此外,该函数应将范围作为参数,并绘制范围内的数字,并在每次迭代时减少它。以下是修改后的版本:
字符串