首页 > 解决方案 > 如何从二维数组一起打印 int 和 char

问题描述

我想要得到的是 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 的数字将是相同的奇怪字符。

有人可以帮我吗?

标签: c++visual-c++

解决方案


                                                                                                      #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;
}

这将对您有所帮助。


推荐阅读