主函数:随机产生m个100~200之间的整数,存放于一维数组中。调用子函数进行右移n位操作
时间: 2024-02-18 15:03:59 浏览: 92
好的,下面是一个实现随机产生m个100~200之间的整数,并进行逻辑右移n位的示例代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void shiftRight(unsigned int arr[], int size, int n) {
for(int i = 0; i < size; i++) {
arr[i] >>= n;
}
}
int main() {
const int M = 10; // 产生10个随机数
const int N = 2; // 右移2位
unsigned int arr[M];
srand(time(0)); // 随机数种子
for(int i = 0; i < M; i++) {
arr[i] = rand() % 101 + 100; // 产生100~200之间的随机数
cout << arr[i] << " ";
}
cout << endl;
shiftRight(arr, M, N);
for(int i = 0; i < M; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序中,我们首先定义了常量M和N,分别表示产生10个随机数和右移2位。然后我们使用srand和time函数来设置随机数种子,使用rand函数产生100~200之间的随机数,并将它们存放在unsigned int类型的数组arr中。接着我们调用了shiftRight函数,将arr数组中的所有元素逻辑右移N位。最后我们输出右移后的结果。
阅读全文