c语言利用随机函数产生20个 [ 20, 120 ] 之间的随机数保存在一个一维数组中,通过键盘输入一个数,查找该数在上面所产生的数中是否存在,如存在输出该数出现的位置,不存在则输出该数不从在。
时间: 2024-02-16 13:03:51 浏览: 29
好的,我来给你讲解一下这个问题的解决思路。
首先,我们需要用 `srand()` 函数设置随机数生成器的种子,然后再用 `rand()` 函数生成随机数。
然后,我们可以用一个循环来生成 20 个随机数,并将它们保存在一个数组中。
接下来,我们需要从键盘输入一个数,然后遍历数组,查找该数是否存在于数组中。如果存在,我们需要输出该数出现的位置;如果不存在,则输出该数不存在。
以下是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[20];
int i, n, pos = -1;
srand(time(NULL)); // 设置随机数生成器的种子
// 生成20个随机数并保存在数组中
for (i = 0; i < 20; i++) {
arr[i] = rand() % 101 + 20; // 生成 [20, 120] 之间的随机数
}
// 从键盘输入一个数
printf("请输入一个数:");
scanf("%d", &n);
// 查找该数是否存在于数组中
for (i = 0; i < 20; i++) {
if (arr[i] == n) {
pos = i; // 记录该数出现的位置
break;
}
}
// 输出结果
if (pos == -1) {
printf("%d不存在于数组中\n", n);
} else {
printf("%d出现在数组的第%d个位置\n", n, pos + 1);
}
return 0;
}
```
希望能够对你有所帮助!