📜  生成随机字母的程序

📅  最后修改于: 2021-06-01 00:57:50             🧑  作者: Mango

先决条件:rand()和srand()
给定一个字符数组中的所有字母,打印字符串给定大小的随机字符。

我们将使用rand()函数打印随机字符。它返回随机整数值。该数字是由一种算法生成的,该算法每次调用时都会返回一个看起来不相关的数字序列。

  1. 不可预测的随机字符普遍存在于密码学中,它是大多数试图在现代通信中提供安全性的方案(例如,机密性,身份验证,电子商务等)的基础。
  2. 随机数还用于通过随机化来近似“公平”的情况,例如选择陪审员和军事抽签。
  3. 随机数在物理学中有用途,例如电子噪声研究,工程学和运筹学。许多统计分析方法(例如引导方法)都需要随机数。

伪代码:
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等的更多准备工作,请参阅“完整面试准备课程”