C++ C++;生成随机词

C++ C++;生成随机词,c++,loops,random,char,C++,Loops,Random,Char,编写一个生成随机字的程序(字数=n)。单词的最大长度=m。 单词必须包含大小写字母。大写字母的概率必须等于50% 例如: 投入:2 4 输出:AbCd eFgH 我该怎么做 到目前为止,我发现了如何生成随机大小写字母 我的代码: #include <iostream> using namespace std; int main() { int n,m,s; cin >> n; cin >> m; s=n*m; char Ta

编写一个生成随机字的程序(字数=n)。单词的最大长度=m。 单词必须包含大小写字母。大写字母的概率必须等于50%

例如:

  • 投入:2 4
  • 输出:AbCd eFgH
  • 我该怎么做

    到目前为止,我发现了如何生成随机大小写字母

    我的代码:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    
       int n,m,s;
       cin >> n;
       cin >> m;
       s=n*m;
       char Tab[s];
    
       for(int i=0; i<n*m; i++)
       {
           Tab[i]= 'A' + rand()%25;
       }
        
       for(int i=1; i<n*m; i++)
       {
           Tab[i+2]= 'a' + rand()%25;
       }
        
       for(int i=0; i<n*m; i++)
       {
           cout << Tab[i] << " ";
       }
    
        return 0;
    }
    
    #包括
    使用名称空间std;
    int main()
    {
    int n,m,s;
    cin>>n;
    cin>>m;
    s=n*m;
    字符标签[s];
    对于(int i=0;i代码-

    #包括
    #包括
    #包括
    #包括
    使用名称空间std;
    int main(){
    int n,m;
    cin>>n>>m;
    srand(time(NULL));//如果没有这个rand()函数,可能会连续给出相同的值
    而(n--){
    int stringLen=(rand()%m)+1;//获取随机长度
    字符串s=”“;//接受空字符串
    
    对于(int i=0;i <代码> s=n*m;char tab [s]; >在C++中无效。您建议什么?使用<代码> STD::vector < /代码>这里看起来更好。您可能想要阅读。特别是两者的组合可能相当危险,并且替换它会大大提高您的答案。
    #include <iostream>
    #include <time.h>
    #include <string>
    #include <stdlib.h>
    using namespace std;
    
    int main() {
        int n,m;
        cin>>n>>m;
        srand(time(NULL));//  without this rand() function might continuously give the same value
        
        while(n--){
            int stringLen = (rand() % m) +1; // getting random length
            string s=""; // taking null string
            for(int i=0; i<stringLen; i++){
                if(rand() % 2 == 0 ){ // capital or small letter
                    s += 'A' + (rand() % 26);
                }else{
                    s += 'a' + (rand() % 26);
                }
            }
            cout<<s<<" ";
        }
    }