Pro*_*mer 6 c++ arrays project shortcut alphabet
我正在尝试做一个项目,尝试和学习 C++,我没有完成它,但它所做的是你输入一个 3 或 4 个(变量 noc)单词,程序运行所有可能的(noc)字母单词或废话,直到找到你的,所以有两个因素:单词或废话的长度以及它可以输入的字符,在我的情况下,我只想要字母表,所以这是我的代码:
#include <iostream>
#include <unistd.h>
using namespace std;
const int noc = 3;
int main() {
string used[noc];
string inp;
cin >> inp;
char albet[] = {'a','b','c'};
cout << "Starting..." << endl;
usleep(1);
string aiput = "";
while(aiput != inp){
for(int i = 0; i <= noc; i++){
aiput = aiput +
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
目前我需要名为“albet”的数组中的字母表(我想出了一些简短的词来表示它们的含义很容易忘记)所以请你帮我快速生成 C++ 中的字母表,而不必输入所有他们一一
当您需要一个字符数组时,您不必一一使用单个字符文字,如
char albet[] = {'a','b','c','d','e','f',... uff this is tedious ...};
Run Code Online (Sandbox Code Playgroud)
您可以改用字符串文字:
const std::string albet{"abcdefghijklmnopqrstuvwxyz"};
Run Code Online (Sandbox Code Playgroud)
我花了大约 10 秒的时间输入并与其他答案相比,这不依赖于 ASCII 编码(不能保证)。
您可以使用std::iota,这是此用例的一个很好的算法:
char albet[26] {};
std::iota(std::begin(albet), std::end(albet), 'a');
Run Code Online (Sandbox Code Playgroud)
这是一个演示。
请注意,这不能保证在 c++ 中工作,除非您有 ASCII 编码,但如果您可以依赖它,您会没事的。
因为所有字符都可以用 ASCII 代码表示('a' 从 97 开始,所有 ASCII 代码都是 int),所以您可以简单地创建一个循环来执行此操作。例如:
char albet[26];
for (int ch = 'a'; ch <= 'z'; ch++) {
//do ch-'a' because we start at index 0
albet[ch-'a'] = ch;
}
Run Code Online (Sandbox Code Playgroud)
你就完成了!