c++随机生成菜谱
时间: 2023-07-04 15:19:00 浏览: 24
你可以使用C++的随机数生成器和数组来实现随机生成菜谱。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
srand(time(NULL)); // 设置随机数种子
string dishes[] = {"红烧肉", "鱼香肉丝", "宫保鸡丁", "清蒸鲈鱼", "糖醋里脊", "麻婆豆腐"}; // 菜品数组
int num_dishes = sizeof(dishes) / sizeof(dishes[0]); // 计算菜品个数
int num_selected = rand() % 3 + 2; // 随机选择2-4个菜品
cout << "今天的菜单是:" << endl;
for (int i = 0; i < num_selected; i++) {
int index = rand() % num_dishes; // 随机选择一个菜品
cout << dishes[index] << endl;
}
return 0;
}
```
这个程序会随机选择2到4个菜品,并输出这些菜品的名字。你可以根据需要修改菜品数组和随机数范围来实现不同的生成菜谱效果。
相关问题
c++随机生成二维数组
以下是使用C++随机生成二维数组的示例代码:
```c++
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int** generateRandomArray(int n, int m) {
int** arr = new int*[n];
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = new int[m];
for (int j = 0; j < m; j++) {
arr[i][j] = (rand() % 900) + 100;
}
}
return arr;
}
void printArray(int** arr, int n, int m) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
int main() {
int n, m;
cin >> n >> m;
int** arr = generateRandomArray(n, m);
printArray(arr, n, m);
return 0;
}
```
c++随机生成账号密码
C语言中可以使用随机数函数`rand()`来生成随机的账号密码。该函数返回一个范围在0到RAND_MAX之间的数字,我们可以对其进行处理以生成长度和字符类型合适的随机数。
首先需要用`srand()`函数设定随机数种子,否则每次生成的随机数都会一样。可以使用`time()`函数来获取当前时间,将其作为种子即可:
```
srand((unsigned)time(NULL));
```
接着,可以像下面这样创建一个字符串类型的数组来保存生成的随机密码(以长度为8、只包含字母和数字为例):
```
char password[9]; // 注意最后一个字符为结束符'\0'
for(int i = 0; i < 8; i++){
int n = rand() % 36; // 生成0-35的随机数
if(n < 10){
password[i] = '0' + n; // 数字对应ASCII码为48-57
}else{
password[i] = 'a' + n - 10; // 字母对应ASCII码为97-122
}
}
password[8] = '\0'; // 加上结束符
```
这样,就可以将生成的随机密码储存在`password`数组中了。同理,可以根据需要生成包括特殊字符、大小写字母等其他类型的随机密码,只需在生成随机数时控制其范围即可。在生成随机账号时,根据需要的账号格式,也可以采用类似的方法来生成随机字符串。