C# 求解 把一维阵列变成二维阵列?

利用scanf("%d %d",&row,&col)输入要求的二维矩阵的行数跟列数,若是row或是col输入为0,则结束此程式,接着输入row * col个一维阵列元素,最后输出一个row * col的二维矩阵
举例
输入:
3 2(3行2列)
1 2 3 4 5 6

输出:
123
456

int main(void) {
int i,j,row,col;
int b[row][col],a[row*col];
while(scanf("%d %d",&row,&col)){
//if(row==0||col==0)
//break;
for(i = 0; i < row; ++i){
for(j = 0; j < col; ++j){
scanf(" %d " , &a[j]);
b[i][j] = a[i * col + j];
}
}
for(i = 0; i < row; ++i){
for(j = 0; j < col; ++j){
printf("%d\t", b[i][j]);
}
puts("");
}
}
return 0;
}

写了个程式码,发现输出后只有第一行是正确的,其他行皆输出与第一行的数字元素一样,求解错误在哪?

1个回答

C#没有scanf,应该用Console.ReadLine()代替。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问