用垂直于给定字符串的字母垂直逐列打印矩形矩阵,并用空格分隔重复字母。矩形矩阵的大小应根据填充所需的单元格计算给定字符串中的字符。按字母列将字符串打印为矩阵
实施例:
输入(字符串):
HELLOWORLD
输出(方块 - 矩阵):
---0 1 2 3
0 H L R
1 E O L
2 L W D
3 --O
-------------- --------------问题结束--------------------------
我的c-程序:
void main()
{
char arr[4][4],a[]="HELLOWORLD";
int i,j,n=0;
clrscr();
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(a[n]!=a[n+1]){
arr[j][i]=a[n];
n++;}
else
arr[j][i]=' ';
}
}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
printf("%c",arr[i][j]);}}
getch();
}
我没有得到所需的输出。请仔细阅读代码。 谢谢。
如果需要3x3矩阵,我还应该如何声明矩阵arr [X] [X]动态地对应于用户输入字符串“WELCOME”。
我建议你阅读Eric Lippert的[如何调试小程序](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/),并学习如何使用一个逐行扫描你的代码的调试器。 –
你应该缩进你的代码。 –