【发布时间】:2011-04-28 13:52:54
【问题描述】:
我试图让用户输入一个二维数组,然后它会以类似框架的形式打印出该数组,我编写了代码并且它可以工作,但是在打印数组时,程序只打印第一行用户反复输入的内容是这样的:
Enter size
3
Enter Array
1 2 3
4 5 6
7 8 9
Your Array:
a b c
# # # # #
1 # 1 2 3 #
2 # 1 2 3 #
3 # 1 2 3 #
# # # # #
这是我的代码:我觉得这是一个小错误,但我就是找不到。
#include <stdio.h>
int main(){
int i,j;
int y,x;
int n,a,num,readNum,z;
char ch;
ch = 'a';
num = 1;
printf("Enter size\n");
readNum = scanf("%d",&z);
int Board[z][z];
n = z+2;
a = n+1;
printf("Enter Array\n");
for(x=0;x<z;x++){
for(y=0;y<z;y++){
readNum = scanf("%d",&Board[x][y]);
}
}
printf("\nYour Array:\n");
x=0;
for(i=0;i<a;i++){
y=0;
for(j=0;j<a;j++){
if(((i==0)&&(j==1))||
((i==1)&&(j==0))||
((i==0)&&(j==n))||
((j==0)&&(i==n))){
printf(" ");
}
if ((i==0)&&(j==0)){
printf(" ");
}
if ((i==0 && (j>=2 && j<n))){
printf("%c ",ch);
ch++;
}
if ((j==0) &&(i>=2 && i<n)){
printf("%d ",num);
num++;
}
if(((i==1) && (j>=1 && j<=n))||
((i==n) && (j>=1 && j<=n))||
((j==1) && (i>1 && i<n ))||
((j==n) && (i>1 && i<n ))){
printf("# ");
}
if((i>1 && i<n) && (j>1 && j<n)){
printf("%d ",Board[x][y]);
y++;
}
}
printf("\n");
}
return 0;
}
【问题讨论】:
-
你好像没有更新
x。 -
print row of stars; [print star, print row 0, print star, linefeed; repeat n rows;] print row of stars;有什么问题
标签: c loops multidimensional-array