这是家庭作业
因此,对于我的一个项目,我必须制作一个拼字游戏。我的主要问题是当我随机化一组7个字符时,我得到7个随机符号。背后有棱镜的问号。我认为这可能是内存问题,但我不知道如何解决它。我将在下面提供我的部分课程:
int arr[N];
const char let[] =
{'K' , 'J' , 'X' , 'Q' , 'Z' , 'B' , 'C' , 'M' , 'P' , 'F' , 'H' , 'V' , 'W' , 'Y' , 'G' , 'L' , 'S' , 'U' , 'D' , 'N' , 'R' , 'T' , 'O' , 'A' , 'I' , 'E'};
const int freq[] =
{ 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 4 , 4 , 4 , 4 , 6 , 6 , 6 , 8 , 9 , 9 , 12 };
unsigned index = 0;
for(int i = 0 ; i < 26 ; i++) {
for(int f = 0 ; f < freq[i]; f++) {
arr[index++] = let[i]; //All the 96 letters are stored in let[i]
//printf("%c " , let[i]); // Created the letter bank for all the letters
} }
int letter = 0;
printf("Your letters are: ");
for(int l = 0; l < 7; l++){
srand((unsigned) time(NULL));
letter = rand() % 96;
printf("%c ", let[letter]); }
因此,在拼字游戏中,每个字母都有不同的频率。这就是freq数组的用途。拼字游戏共有96个可能的字符,所有这些字母都存储在数组let [i]中。所以对于从“int letter = 0”开始的随机函数,我有一个循环来使用它将返回7个字母。我有mod 96,因为这是拼字游戏中有多少可能的字母。问题是最后的打印声明只是给我随机字符。任何帮助将不胜感激!