C++ 什么是;兰德()%3-1;以c+表示的平均值+;?

C++ 什么是;兰德()%3-1;以c+表示的平均值+;?,c++,random,srand,C++,Random,Srand,程序创建一个二维数组(名为“table”),并用随机数(-1、0或1)填充数组 intmain(){ srand(时间(0)); const int ROWS=3; 常数int COLS=4; int表[行][COLS]; 对于(int i=0;i

程序创建一个二维数组(名为“table”),并用随机数(-1、0或1)填充数组

intmain(){
srand(时间(0));
const int ROWS=3;
常数int COLS=4;
int表[行][COLS];
对于(int i=0;icoutrand()%3给出一个介于0-->2

范围内的数字提示
%operator
…我建议您学习并阅读有关算术运算符的内容。或者搜索模运算符。阅读有关内容也可能会有所帮助。如果数组中填充了random(-1、0或1),您不了解哪一部分然后,该表达式可能会生成-1和1之间的随机数…x%y返回x除以y后剩下的值。因此对于x%3,它只能返回0、1或2。现在从中提取1,并猜测从随机整数可以得到什么。%n是。ohhh现在我明白了。我对“3-1”部分感到困惑但是我现在明白了。谢谢!错+不回答问题+这个问题不应该回答,因为它有点离题。范围是0->2
int main() {
    srand(time(0));  
    const int ROWS=3;
    const int COLS=4;

    int table[ROWS][COLS];

    for (int i = 0; i < ROWS; i ++) {
        for (int j = 0; j < COLS; j++)   {               
            table[i][j] = rand()%3-1;                
        }
    }

    for (int i = 0; i < ROWS; i ++)  {
        for (int j = 0; j < COLS; j++)
            cout << setw(3) << table[i][j];

        cout << endl;
    }

    return 0;
}