先决条件:rand()和srand()
给定一个字符数组中的所有字母,打印字符串给定大小的随机字符。
我们将使用rand()函数打印随机字符。它返回随机整数值。该数字是由一种算法生成的,该算法每次调用时都会返回一个看起来不相关的数字序列。
- 不可预测的随机字符普遍存在于密码学中,它是大多数试图在现代通信中提供安全性的方案(例如,机密性,身份验证,电子商务等)的基础。
- 随机数还用于通过随机化来近似“公平”的情况,例如选择陪审员和军事抽签。
- 随机数在物理学中有用途,例如电子噪声研究,工程学和运筹学。许多统计分析方法(例如引导方法)都需要随机数。
伪代码:
1.首先,我们初始化两个字符数组,一个包含所有字母,另一个包含给定大小n的字符数组以存储结果。
2.然后,我们将种子初始化为当前系统时间,以便每次生成新的随机种子。
3.接下来,我们使用for循环直到n并存储随机生成的字母。
下面是上述方法的C++实现:
C++
// CPP Program to generate random alphabets
#include
using namespace std;
const int MAX = 26;
// Returns a string of random alphabets of
// length n.
string printRandomString(int n)
{
char alphabet[MAX] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z' };
string res = "";
for (int i = 0; i < n; i++)
res = res + alphabet[rand() % MAX];
return res;
}
// Driver code
int main()
{
srand(time(NULL));
int n = 10;
cout << printRandomString(n);
return 0;
}
Java
// JAVA Program to generate random alphabets
import java.util.*;
class GFG
{
static int MAX = 26;
// Returns a String of random alphabets of
// length n.
static String printRandomString(int n)
{
char []alphabet = { 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z' };
String res = "";
for (int i = 0; i < n; i++)
res = res + alphabet[(int) (Math.random() * 10 % MAX)];
return res;
}
// Driver code
public static void main(String[] args)
{
int n = 10;
System.out.print(printRandomString(n));
}
}
// This code is contributed by Rajput-Ji
C#
// C# Program to generate random alphabets
using System;
class GFG
{
static int MAX = 26;
// Returns a String of random alphabets of
// length n.
static String printRandomString(int n)
{
char []alphabet = { 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z' };
Random random = new Random();
String res = "";
for (int i = 0; i < n; i++)
res = res + alphabet[(int)(random.Next(0, MAX))];
return res;
}
// Driver code
public static void Main()
{
int n = 10;
Console.Write(printRandomString(n));
}
}
输出 :
jgyuihhlxb
每次我们运行代码时,此程序将打印不同的字符。
想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。