使用C++编程,调用随机函数rand(),产生10个取值小于1000的整数,统计其中升序数、降序数的个数输出到屏幕。 升序数指高位数字不大于低位数字的数,例如3,456,446,22;降序数指高位数字大于低位数字的数,例如54,831。而263,834之类则即非升序数也非降序数
时间: 2024-10-16 15:04:37 浏览: 41
在C++中,你可以使用`<cstdlib>`库里的`rand()`函数生成随机数,并配合`<ctime>`库来获取当前时间作为种子,保证每次程序运行的结果不同。首先,你需要一个数组存储这10个随机数,然后遍历数组检查每个数是否为升序或降序。这里是一个简单的示例:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
// 判断一个数是否为升序或降序
bool isOrder(int num) {
if (num < 10) // 如果是个位数,直接判断
return num <= num / 10;
else {
int digit = num % 10; // 取最后一位
return digit <= num / 10 && num / 10 <= num / 100; // 检查十位和百位
}
}
int main() {
srand(time(0)); // 设置随机种子
int numbers[10];
for (int i = 0; i < 10; ++i) {
numbers[i] = rand() % 1000; // 随机生成0-999之间的数
}
int asc_count = 0, desc_count = 0;
for (int num : numbers) {
if (isOrder(num))
asc_count++;
else
desc_count++; // 如果不是升序也不是降序,则增加降序计数
}
std::cout << "升序数有:" << asc_count << "个,降序数有:" << desc_count << "个。\n";
return 0;
}
```
阅读全文