【发布时间】:2016-03-07 12:58:26
【问题描述】:
我对这个可能非常容易理解的数组主题完全没有兴趣,但我的大脑并没有理解它。我找到的每个视频,我找到的每个网站,关于数组的一切都从未提及如何使用随机数而不是一组固定的数字来处理它的方法。
所以现在我把它作为一个项目的一部分,这只是第一部分,迫不及待想要更进一步-_-
我正在编写的代码假设在 10 列、5 行的网格中用 1-999 的随机数填充一个数组。我把这段代码放进去,它只会持续 999 个数字,直到它停止。在我的生活中,我无法在所述行和列之后找出阻止它的方法。
int main(){
int arr[999];
int i;
for( i = 0; i < 999; i++){
arr[i] = rand() % 999;
}
for( i = 0; i < 999; i++){
printf("%d", arr[i]);
}
return 0;
}
我知道我现在对代码中的行和列一无所知,因为我不想因为我尝试过的东西而让自己难堪。我希望有人能告诉我该怎么做。我了解数组的基础知识,如何在数组中找到某个点,但这都是针对固定数字的。从我已经搜寻了几个小时的内容来看,我找不到任何该死的东西。
编辑@Kaylum:
我现在拥有的代码很可能不是您让我尝试的代码,而是:
int main(){
int arr[5][10];
int i;
for( i = 0; i < 5/10; i++){
arr[i] = rand() % 999;
}
for( i = 0; i < 5/10; i++){
printf("%d\t", arr[i]);
}
return 0;
}
【问题讨论】:
-
把
999改成rows * columns? -
@kaylum 在哪一部分?
-
全部。也就是说,无论
999出现在哪里,都替换为rows * columns。如果您想尝试另一种方法是使用双数组:int arr[rows][columns];,然后有两个索引从0迭代到rows/columns。这可以说是比单个平面数组更自然的方法。 -
@kaylum 我试过了,但它出现一个错误,指出“数组类型'int [10]'不可分配”
-
不,你没有尝试“那个”。您尝试了一些我看不到也无法评论的代码。如果您需要有关新事物的帮助,请更新您的问题。
标签: c arrays loops multidimensional-array row