Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用For循环将数字转换为字母并输出字母正方形 >尺寸; int-iSize=大小; for(int r=1-iSize;r_C++_Loops - Fatal编程技术网

C++ 使用For循环将数字转换为字母并输出字母正方形 >尺寸; int-iSize=大小; for(int r=1-iSize;r

C++ 使用For循环将数字转换为字母并输出字母正方形 >尺寸; int-iSize=大小; for(int r=1-iSize;r,c++,loops,C++,Loops,但是,我现在需要让这个循环输出相同的模式,但是当用户输入相同的输入时,需要使用字母: AAAAAAAAA ABBBBBBBA ABCCCCCBA ABCDDDCBA ABCDEDCBA ABCDDDCBA ABCCCCCBA ABBBBBBBA AAAAAAAAA 任何人都可以很好地建议如何最好地将这些数字转换成字母。e、 g.1='A',2='B'等 非常感谢你 #include <iostream> #include <string> #include <cm

但是,我现在需要让这个循环输出相同的模式,但是当用户输入相同的输入时,需要使用字母:

AAAAAAAAA
ABBBBBBBA
ABCCCCCBA
ABCDDDCBA
ABCDEDCBA
ABCDDDCBA
ABCCCCCBA
ABBBBBBBA
AAAAAAAAA
任何人都可以很好地建议如何最好地将这些数字转换成字母。e、 g.1='A',2='B'等

非常感谢你

#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>

using namespace std;

int main() {

    int size;

    cin >> size;

    int iSize = size;

    for (int r = 1 - iSize; r < iSize; r++) {
        for (int c = 1 - iSize; c < iSize; c++) {   
            cout << iSize - max(abs(r), abs(c));
        }   
        cout << endl;
    }
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
整数大小;
cin>>尺寸;
int-iSize=大小;
for(int r=1-iSize;r
char ch=(char)(i+65);

65是第一个字符“A”数字。

您应该有足够的提示: C中的字符只是数字(它们的代码)的表示形式,因此您可以将
int
添加到
char
中,并获得与原始字符之间的距离

例如,请参见此代码输出的内容:

for(int i = 0; i< 10; i++){
    cout << 'A';
    cout << (char)('A' + i);
}
for(int i=0;i<10;i++){

cout一个有价值的编程技巧:独立开发新功能。不要担心正方形,问题是如何将数字转换成字母

char
type是一个整数类型——一个数字——代码倾向于将其解释为一个字符。它如何在数字和字符之间来回映射?。但现在只需知道代码将数字65解释为“a”,66解释为“B”,67解释为“C”,依此类推。因此,您可以将{1,2,3,…}转换为{a,B,C,…}恰好:

char c = n + 64;
但是,如果您在没有WiFi的煤矿深处工作,并且无法访问任何ASCII表来查找“a”=65,该怎么办?好吧,您实际上不需要知道它是什么,就可以使用它:

char c = n + 'A' - 1;

我找到了解决办法。谢谢大家的时间和建议

 #include <iostream>
 #include <string>
 #include <cmath>
 #include <algorithm>

 using namespace std;

 int main() {

 unsigned size;

 cin >> size;

 int iSize = static_cast<int>(size);

 for (int r = 1 - iSize; r < iSize; r++) {
    for (int c = 1 - iSize; c < iSize; c++) {       

        cout << static_cast<char>( '@' + iSize - max(abs(r), abs(c)) ); // this is the change.


         }
        cout << endl;

     }


 }
#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
无符号大小;
cin>>尺寸;
int iSize=静态铸件(尺寸);
for(int r=1-iSize;r虽然这可能是可行的,但它是依赖于实现的。C和C++标准只保证字母A到F是连续的。哇,这使得我的整个解释都是错误的:(因为这次你使用i-isize,所以你应该从0开始i。你应该更改标题;你的循环和正方形都是冷的,你在问如何将数字转换为字母。