我正在尝试将单词沿对角线方向输入到 C 中的二维数组中。我能够水平和垂直地对单词执行此操作,但是这里比较棘手,因为可以沿对角线向上或向下输入单词。我希望变量 X 在循环的第一次迭代中为 0,然后在循环的其余部分递增或在循环的其余部分递减(随机选择哪个)。这可能吗?
for(i=0, j = 0; i < wordLen && j < arrayHeight; j++, i++)
array[arrayRow+X][arrayColumn+i] = wordList[k][j];
tl;dr 我专注于让 X 变量以这种方式做一些特定的事情,但我不知道该怎么做
最佳答案
为什么不
for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
array[arrayRow-i][arrayColumn+i] = animals[k][j];
和
for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
array[arrayRow+j][arrayColumn-i] = animals[k][j];
等对于不同的方向
或者替代地
for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
array[arrayRow+wordlength-i-1][arrayColumn+i] = animals[k][j];
或者如果你想使用x
for(i=0, j = 0; i < wordLength && j < HEIGHT; j++, i++)
{
x=wordlength-i-1;
array[arrayRow+x][arrayColumn+i] = animals[k][j];
}
关于c - 随机对角二维数组输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013211/