0

我设法使用随机数和数组开发了一个简单的 5x5 板。对于像我这样的人来说,这是一个巨大的成就!:)

现在我必须根据数字的频率增加计数器。

如果打印 0-49 内的值..然后 nCounter++ 如果打印 50-75 内的值..然后 pCounter++ 类似的东西。

问题是我不知道如何根据印制板增加计数器

这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()

{
//Initialize Variables
int randomNumber;
int rows;
int columns;
int hdCounter =0;
int hCounter = 0;
int cCounter = 0;
int pCounter = 0;
int nCounter = 0;

//Declare board size
int board[5][5]; //size of board is 5 x 5

//Create the random number generator seed
srand(time(NULL));

//Assign the random numbers from 1 - 25 into variable randomNumber

//Create the rows for the board
for ( rows = 1; rows <= 5 ; rows++ )
{
    //Create the colimns for the board
    for ( columns = 1; columns <= 5 ;  columns++ )
    {
        //Assign variable randomNumber into variable board
         randomNumber = rand() %100 + 1;

         board[rows][columns] = randomNumber;

         //print the board
         printf("%d\t", board[rows][columns]);

        //calculate the frequency of numbers on the printed board
        if (randomNumber >= 85 && randomNumber <= 100 )
            hdCounter++;
        else if ( randomNumber >= 75 )
             hCounter++;
        else if ( randomNumber >= 65 )
             cCounter++;
        else if ( randomNumber >= 50 )
             pCounter++;
        else if ( randomNumber >= 1 )
             nCounter++;
        else
            continue;
    }
    //Newline after the end of 5th column.
    printf("\n\n");


}

    printf( "N \t P \t C \t H \t HD\n\n" );

    printf("%d \t %d \t %d \t %d \t %d \t",
           nCounter, pCounter, cCounter, hCounter, hdCounter);

 }//end main

我尝试randomNumber在 if 语句中替换为,board[rows][columns]但我似乎得到了同样不受欢迎的结果。

4

1 回答 1

0

索引你的数组错误。

改变

for (rows = 1; rows <= 5; rows++)   

for (rows = 0; rows < 5; rows++)    

同样对于cols。数组在 C 中从 0 开始索引。

于 2013-10-21T15:52:14.147 回答