该程序会要求用户输入密码长度,然后生成一个包含大写字母、小写字母、数字和其他符号的密码,并将其放入一个字符数组中输出。程序使用了 C++ 的随机数生成器来生成密码中的随机字符。,不能用string
时间: 2023-07-15 13:10:44 浏览: 117
以下是一个C++程序,可以实现生成随机密码,并将密码存储在字符数组中输出:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
const int PASSWORD_LENGTH = 10; // 密码长度
char password[PASSWORD_LENGTH+1]; // 存储密码的字符数组
const char CHARACTERS[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+{}[]|\\:;\"'<>,.?/~`"; // 所有可用的字符
const int CHARACTER_LENGTH = sizeof(CHARACTERS) - 1; // 可用字符的数量
srand(time(0)); // 用当前时间作为种子,以生成更随机的数
for(int i = 0; i < PASSWORD_LENGTH; i++)
{
password[i] = CHARACTERS[rand() % CHARACTER_LENGTH]; // 从可用字符中随机选择一个字符
}
password[PASSWORD_LENGTH] = '\0'; // 添加字符串结束符
cout << "Your password is: " << password << endl;
return 0;
}
```
程序首先定义了密码的长度,然后创建了一个字符数组来存储密码。接下来,程序定义了所有可用的字符,并计算可用字符的数量。然后,程序使用当前时间作为种子来初始化C++的随机数生成器。在循环中,程序从可用字符中随机选择一个字符,并将其添加到密码字符数组中。最后,程序在密码字符数组的末尾添加了一个字符串结束符,并输出生成的密码。
阅读全文