【发布时间】:2017-12-25 16:57:42
【问题描述】:
使用给定字符串中的字母垂直逐列打印方阵,重复字母用空格分隔。方阵的大小应根据填充给定字符串中字符所需的单元格计算。
示例:
输入(字符串):
你好
输出(方阵):
---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();
}
我没有得到所需的输出。请帮助代码。 谢谢。
还帮助我如何声明矩阵 arr[X][X] 动态对应于用户输入字符串,如果需要 3x3 矩阵,请说“WELCOME”。
【问题讨论】:
-
我建议您阅读 Eric Lippert 的 How to debug small programs,并了解如何使用调试器逐行执行代码。
-
你应该缩进你的代码。
标签: c arrays string matrix dynamic