【发布时间】:2020-02-23 09:21:53
【问题描述】:
我目前遇到的问题是我的代码创建了 40 个数字并将其打印到一个数组中。当试图向后打印这组代码时,它只会在我需要它以相反的顺序打印整个第一个数组时打印常规/普通数组中的最终数字。谢谢您的帮助。我正在使用 C++。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i;
int lower = 0, upper = 100; //Random number between 1 and 100 is generated
int rand_num;
int num[40];
srand(time(0));
printf("Your array is shown:\n");
for(i = 0; i < 40; i++)
{
rand_num = (rand() % (upper - lower + 1)) + lower;
num[rand_num] = rand_num;
printf("%d ",num[rand_num]);
}
printf("\nYour array backwards is:\n");
for(i = 39; i >= 0; i--)
{
printf("%d ", num[rand_num]);
}
return 0;
}
【问题讨论】:
-
你用的是c++吗?
-
是的,很抱歉没有早点说明
-
仔细思考
num[rand_num]的含义。我很确定它的所有出现都不是你想要的。 -
如果输入是真正随机的,怎么会有人知道你是否没有反转数组?
-
num[rand_num]好像有点不对劲。