当输入为 A 时,C++ 方法 return 字母 B 直到 ZZ
C++ method to return alphabet B when input is A so on till ZZ
C++ 方法到 return 字母 B
当输入是 A
直到 Z
然后如果输入是 Z
方法应该 return AA
如果输入是 AA
方法应该 return AB
,以此类推直到 ZZ
。请找到我正在尝试的示例程序。
void getString(string s){
for (char ch = 'A'; ch<= 'Z';)
{
cin >> ch;
ch++;
cout<< ch;
if (ch = 'Z')
{
cout << "in loop";
for (char k = 'A'; k<= 'Z';){
for (char j = 'A'; j<= 'Z';j++){
char res = k + j;
cout << res;
}
k++;
}
}
}
}
int main() {
getString("");
return 0;
}
使用if (ch == 'Z')
代替if (ch = 'Z')
=
运算符用于为变量赋值。但是 ==
是一个比较运算符:
if (ch = 'Z') // assign `Z` to ch and check if it's not `[=10=]` (always true)
if (ch == 'Z') // Compare ch with `Z`
使用 char res = k + j;
不能连接字符,您应该使用 strcat()
或仅对元素使用 +
运算符。
试试下面的方法:
void getString(string s)
{
if(s.length() == 1)
{
if(s[0] == 'Z')
cout << "AA";
else
cout << static_cast<char>(s[0] + 1);
}
else if(s.length() == 2)
{
if(strcmp(s.c_str(), "ZZ") == 0)
{
cout << "ZZ";
}
else
{
if(s[1] != 'Z')
{
cout << s[0] << static_cast<char>(s[1] + 1);
}
else if(s[1] == 'Z')
{
cout << static_cast<char>(s[0] + 1) << 'A';
}
}
}
}
int main() {
char res[3] = {0};
cin >> res;
getString(res);
return 0;
}
C++ 方法到 return 字母 B
当输入是 A
直到 Z
然后如果输入是 Z
方法应该 return AA
如果输入是 AA
方法应该 return AB
,以此类推直到 ZZ
。请找到我正在尝试的示例程序。
void getString(string s){
for (char ch = 'A'; ch<= 'Z';)
{
cin >> ch;
ch++;
cout<< ch;
if (ch = 'Z')
{
cout << "in loop";
for (char k = 'A'; k<= 'Z';){
for (char j = 'A'; j<= 'Z';j++){
char res = k + j;
cout << res;
}
k++;
}
}
}
}
int main() {
getString("");
return 0;
}
使用if (ch == 'Z')
代替if (ch = 'Z')
=
运算符用于为变量赋值。但是 ==
是一个比较运算符:
if (ch = 'Z') // assign `Z` to ch and check if it's not `[=10=]` (always true)
if (ch == 'Z') // Compare ch with `Z`
使用 char res = k + j;
不能连接字符,您应该使用 strcat()
或仅对元素使用 +
运算符。
试试下面的方法:
void getString(string s)
{
if(s.length() == 1)
{
if(s[0] == 'Z')
cout << "AA";
else
cout << static_cast<char>(s[0] + 1);
}
else if(s.length() == 2)
{
if(strcmp(s.c_str(), "ZZ") == 0)
{
cout << "ZZ";
}
else
{
if(s[1] != 'Z')
{
cout << s[0] << static_cast<char>(s[1] + 1);
}
else if(s[1] == 'Z')
{
cout << static_cast<char>(s[0] + 1) << 'A';
}
}
}
}
int main() {
char res[3] = {0};
cin >> res;
getString(res);
return 0;
}