如何从二维数组一起打印int和char

时间:2021-03-23 07:30:50

标签: c++ visual-c++

我想要的是 4x4 矩阵或更大的矩阵,并将中心的整数替换为字符。 比如

 1   2   3   4
 5   6   7   8
 9  10  11  12
13  14  15  16

填写数字而不是手动书写。可以是8X8 10X10矩阵

 1   2   3   4 
 5   A   B   8
 9   B   B  12
13  14  15  16
void (int arr[MAX_ARRAY_SIZE][MAX_ARRAY_SIZE],int nrow){

    for (int row = 0; row < nrow; row++)
    {
        for (int col = 0; col < nrow; col++)
        {
            arr[row][col] = i++;
            if (nrow / 2 == row && nrow / 2 == col)
            {
                arr[row - 1][col - 1] = 'A';
                arr[row - 1][col] = 'B';
                arr[row][col - 1] = 'B';
                arr[row][col] = 'A';
            }
        }
    }
    
    for (int row = 0; row < nrow; row++)
    {
        for (int col = 0; col < nrow; col++)
        {
            cout<< arr[row][col];
        }
        cout << endl;
    }
}

我试着把它变成字符

char charArray[MAX_ARRAY_SIZE][MAX_ARRAY_SIZE]=arr[MAX_ARRAY_SIZE][MAX_ARRAY_SIZE];

但它显示奇怪的字符,如果我这样做

charArray[row][col] =i +'0';

它向我显示了 10 之前和 10 以上的数字将是相同的奇怪字符。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:-1)

                                                                                                      #include<iostream>
using namespace std;
int  main()
{
int arr[6]={'A','B',1,3,4,5};
for(int i=0;i<6;i++)
{
if(arr[i]>0&&arr[i]<9)
cout<<arr[i]<<"\n";
else
{
printf("%c\n",arr[i]);
}


}
return 0;
}
<块引用>

这会帮助你。

相关问题