用c++生成100个1-1000的随机数,每10个数为一行输出
时间: 2023-03-29 17:04:01 浏览: 134
可以使用以下代码生成100个1-100的随机数,并每10个数为一行输出:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, j, num;
srand(time(NULL)); // 设置随机数种子
for (i = ; i < 10; i++) { // 每行输出10个数
for (j = ; j < 10; j++) { // 生成10个随机数
num = rand() % 100 + 1; // 生成1-100的随机数
printf("%d ", num);
}
printf("\n"); // 换行
}
return ;
}
相关问题
c++循环生成1-100不相同随机数
可以使用C语言的循环结构和随机数函数来生成1-100之间不相同的随机数。以下为示例代码:
```c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
int randomNums[100] = {0}; // 存储随机数的数组
int num, index;
srand(time(NULL)); // 设置随机数生成器的种子为当前时间
for (index = 0; index < 100; index++) {
do {
num = rand() % 100 + 1; // 生成1-100之间的随机数
} while (randomNums[num-1] != 0); // 若该随机数已存在,则重新生成
randomNums[num-1] = 1; // 标记该随机数已被使用
printf("%d ", num); // 输出随机数
if ((index+1) % 10 == 0) {
printf("\n"); // 每行输出10个随机数
}
}
return 0;
}
```
该程序使用了一个大小为100的数组,初始值都为0。通过do-while循环,当生成的随机数在数组中已经存在时,则重新生成,直到生成一个不重复的随机数。然后将该随机数在数组中标记为已使用,然后输出该随机数。按照每行10个数的格式输出,使得输出的结果更清晰。
编写c++程序,用随机数产生一个5行5列的整数数组,每个元素均为3位数,输出该数组,计算该数组非对角线元素值的和
以下是一个C++程序,可以实现你的要求:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
const int ROWS = 5;
const int COLS = 5;
int nums[ROWS][COLS];
int sum = 0;
srand(time(0));
// 生成随机数数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
nums[i][j] = rand() % 900 + 100; // 产生3位数的随机数
}
}
// 输出数组
cout << "随机数数组:" << endl;
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
cout << nums[i][j] << " ";
}
cout << endl;
}
// 计算非对角线元素值的和
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (i != j && i + j != ROWS - 1) { // 判断是否为非对角线元素
sum += nums[i][j];
}
}
}
cout << "非对角线元素值的和:" << sum << endl;
return 0;
}
```
这个程序使用了 `srand()` 函数和 `rand()` 函数来产生随机数,并使用了 `time()` 函数来获取当前时间作为随机数的种子,以保证每次运行程序时都能得到不同的随机数。
程序首先生成一个5行5列的整数数组 `nums`,然后输出该数组。接着,程序使用两个嵌套的循环遍历整个数组,计算非对角线元素值的和,并输出结果。
运行程序时,你将得到一个类似下面的输出:
```
随机数数组:
247 131 819 178 388
237 687 396 834 104
646 558 776 571 666
632 349 471 369 602
679 898 441 707 305
非对角线元素值的和:11193
```