询问用户两个字母的序列是否在字母的随机数组中

时间:2019-11-06 21:58:02

标签: c++

用户输入所需的字符串长度。然后程序会输出一个随机生成的字符列表。之后,提示用户输入2个字符(存在或不存在的字符将列表变白)。然后,程序将输出该对中第一个字符出现的位置,或者说该对不存在于列表中。

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main()
{
    int size, c;
    char ltr1, ltr2;
    cout << "How many letters do you want in your random sting? ";
    cin >> size;
    string str;
    for (int i = 0; i < size; i++)
    {
        c = rand() % 26 + 'a';
        str.push_back(c);
    }
    for (int i = 0; i < size; i++)
    {
        cout << str[i];
    }
    cout << endl << endl;

    cout << "what pair of letters would you like to find?";
    cin >> ltr1;
    cin >> ltr2;
    cout << endl;
    for (int i = 0; i < size; i++)
    {
        if (char((str[i] == ltr1) && (str[i + 1] == ltr2)))
        {
            cout << "the pair is in the string starting at character number "
                 << i << " in the string" << endl;
        }
        if (char((str[i] == ltr1) && (str[i + 1] != ltr2)))
        {
            cout << "the pair " << ltr1 << ltr2 << " is not in the string." << endl;
        }
    }

    return 0;
}

输出能够确定天气对是否存在,并且将输出位置,但是,如果您输入的值大于25,它将多次运行最终输出。

0 个答案:

没有答案