当我开始调试时没有打印任何内容,我什至不确定这意味着什么,我认为错误可能在第 3 和第 4 个 for 循环中,对于字母 ASCII 字符,因为我不确定这是否正确写它们的方式。
我正在尝试解决以下练习:
编写一个程序,读取用户输入的两个整数 n 和 l,并按字母顺序生成所有可能的密码,密码由以下 5 个字符组成:
符号 1:i,从 1 到 n 的数字。
符号 2:j,从 1 到 n 的数字。
符号3:字母,拉丁字母前l个字母中的小写字母。
符号4:第二个字母,拉丁字母前l个字母中的小写字母。
符号 5:d,从 1 到 n 的数字,大于前 2 位数字。
输入从控制台读取,由区间 [1…9] 中的两个整数 n 和 l 组成,每行一个。
所有密码必须按字母顺序打印在控制台上,并用空格分隔。
My code:
#include <iostream>
using namespace std;
int main()
{
int n = 0;
int l = 0;
cout << "Input n (1, 9): " << endl;
cin >> n;
while (n < 1 || n > 9)
{
cout << "Input n (1, 9): " << endl;
cin >> n;
}
cout << "Input l (1, 9): " << endl;
cin >> l;
while (l < 1 || l > 9)
{
cout << "Input l (1, 9): " << endl;
cin >> l;
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
for (char letter = char(97); letter <= l; letter++)
{
for (char secondletter = char(97); secondletter <= l; secondletter++)
{
for (int d = 1; d <= n; d++)
{
if (d>i&&d>j)
{
cout << "Possible combination {1}{2}{3}{4}{5}: " << i << j << letter << secondletter << d << "\n";
}
}
}
}
}
}
return 0;
}