weixin_43573137 2018-11-17 15:53 采纳率: 0%
浏览 640

无法输出矩阵,在赋值时只能赋一个值,请问错在哪里了?

#include
int main()
{
void input_matrix1();
void input_matrix2();
input_matrix1();
input_matrix2();
}
void input_matrix1()
{
int r,c,i,j;
printf("请输入矩阵的行数r:\n");
scanf("r=%d",&r);
printf("请输入矩阵的列数c:\n");
scanf("c=%d",&c);
int a[r][c];
printf("请输入第一个矩阵a:\n");
for(i=1; i<=r; i++)
{
for(j=1; j<=c; j++)
{
scanf("%d",&a[i][j]);
}
}
printf("您输入的矩阵为a=\n");
for(i=1; i<=r; i++)
{
for(j=1; j<=c; j++)
{
printf("%d ",&a[i][j]);
}
if(j>c);
printf("\n");
return;
}
}

void input_matrix2()

{
int r1,c1,i1,j1;
printf("请输入矩阵的行数r1:\n");
scanf("r1=%d",&r1);
printf("请输入矩阵的列数c1:\n");
scanf("c1=%d",&c1);
int b[r1][c1];
printf("请输入第二个矩阵b:\n");
for(i1=1; i1<=r1; i1++)
{
for(j1=1; j1<=c1; j1++)
{
scanf("%d",&b[i1][j1]);
}
}
printf("您输入的矩阵为b=\n");
for(i1=1; i1<=r1; i1++)
{
for(j1=1; j1<=c1; j1++)
{
printf("%d ",&b[i1][j1]);
}
if(j1>c1);
printf("\n");
}
return;
}

  • 写回答

1条回答

  • threenewbee 2018-11-17 16:16
    关注
     你的基础知识太差!
    void input_matrix1()
    {
    int r,c,i,j;
    printf("请输入矩阵的行数r:\n");
    scanf("%d",&r); //scanf不是print,不要加多余的东西
    printf("请输入矩阵的列数c:\n");
    scanf("%d",&c);
    int a[r][c];
    printf("请输入第一个矩阵a:\n");
    fflush(stdin);
    for(i=0; i<r; i++)  //数组下标从0开始
    {
    for(j=0; j<c; j++) 
    {
    scanf("%d", &a[i][j]);
    }
    }
    printf("您输入的矩阵为a=\n");
    for(i=0; i<r; i++) 
    {
    for(j=0; j<c; j++) 
    {
    printf("%d ",a[i][j]); //printf不需要取地址符号
    }
    if(j==c) //这里不需要分号
    printf("\n"); //这里不要return
    }
    }
    

    至于函数是干嘛的,你更是完全不懂。函数是为了代码重复使用用的,你两个代码完全一样(除了变量名),应该合并成一个函数,不同的地方提取为参数。然而你对函数完全一窍不通。

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?