[1.99]范围内的奇数
Odd random number in range [1..99]
本文关键字:范围内 更新时间:2023-10-16
我想用范围[1..99]内的奇数随机数填充一个数组。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int N = 100;
int a[N];
void print(){
for (int i=0; i<N; i++)
cout << a[i] << " ";
}
int main(){
srand(time(NULL));
int number;
for (int i=0; i<N; i++) {
number=(rand()%100)+1;
if (number%2!=0)
a[i]=number;
}
print();
}
当我使用这个代码时,我收到:
0 93 0 0 29 0 0 0 0 0 27 29日51 13 35 0 0 0 0 0 0 0 0 0 0 97 99 73 15 21 79 73 0 0 39 31 0 7 25 41 1 99 0 0 1 0 81 69 73 95 0 0 0 31 41 21 75 97 0 0 0 0 0 0 0 11 33 65 0 69年31日21日0 0 9 63年27 0 13 0 63 27 99 0 0 0 77 0 59 69 99 0 0 0
这有什么不对吗?为什么有那么多"0"?
为什么不可以呢?你只能填写奇数:
if (number%2!=0)
a[i]=number;
如果随机数是偶数,则跳过将其添加到数组中。所以…每个0
都是偶数
尝试这样做,只有当您实际得到奇数时,它才会增加。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int N = 100;
int a[N];
void print(){
for (int i=0; i<N; i++)
cout << a[i] << " ";
}
int main(){
srand(time(NULL));
int number;
for (int i=0; i<N; ) {
number=(rand()%100)+1;
if (number%2!=0)
{
a[i]=number;
i++;
}
}
print();
}
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 错误:未在此范围内声明'reverse'
- 并行用于C++17中数组索引范围内的循环
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 不计算一个范围内的完美数
- 错误:"imread"未在此范围内声明
- 我在范围内未声明的错误类有问题
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 我有一个数组,我想输入一个范围,然后找到范围内所有偶数的总和?
- 未在此范围内声明错误 'xy'
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 命名空间范围内的外部 - GCC vs clang vs msvc
- 如何改进一堆在已知值范围内评估变量的 else-if 条件?
- 如何仅使用 While 循环在给定范围内找到可被 7 整除的计数整数
- Socklen_t未在此范围内声明
- 错误:'[' 之前预期的非限定 id 和错误:'users'未在此范围内声明
- 查找给定范围内最长连续 1 的频率
- "Main"已在当前范围内声明
- c++ 变量在宏的扩展中没有在这个范围内声明
- 变量不在 lambda 的范围内