weixin_46081766 2019-12-24 22:56 采纳率: 0%
浏览 117

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

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

输出:
1 2 3
4 5 6

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条回答 默认 最新

  • threenewbee 2019-12-25 10:20
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料