尝试随机化数组元素时的随机字符

时间:2017-10-23 21:04:01

标签: c arrays random

这是家庭作业

因此,对于我的一个项目,我必须制作一个拼字游戏。我的主要问题是当我随机化一组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,因为这是拼字游戏中有多少可能的字母。问题是最后的打印声明只是给我随机字符。任何帮助将不胜感激!

0 个答案:

没有答案