第3道,我算出array a+b,但不知道怎么打出前面array a和array b的内容,这个用c语言的数组怎么解决。

img


第3道,我算出array a+b,但不知道怎么打出前面array a和array b的内容,这个用c语言的数组怎么解决。

供参考:

#include <stdio.h>
#define Row 3
#define Col 4
void print(int *a,int row,int col)
{
    int i;
    for(i=0;i<row*col;i++)
        printf((i+1)%col==0?"%5d\n":"%5d",a[i]);
}

int main()
{
    int i,j,a[Row][Col]={3,0,4,5,6,2,1,7,4,1,5,8},
            b[Row][Col]={1,4,0,3,2,5,1,6,9,3,6,0},
            c[Row][Col]={0};
    for(i=0;i<Row;i++)
        for(j=0;j<Col;j++)
            c[i][j] = a[i][j] + b[i][j];
    printf("array a:\n");
    print(a[0],Row,Col);
    printf("array b:\n");
    print(b[0],Row,Col);
    printf("array c:\n");
    print(c[0],Row,Col);
    return 0;
}


#include <stdio.h>
int main()
{
    int a[][4]={
        {3,0,4,5},
        {6,2,1,7},
        {4,1,5,8}
    };
    int b[][4]={
        {1,4,0,3},
        {2,5,1,6},
        {9,3,6,0}
    };

    int line=sizeof(a)/sizeof(a[0]);//计算二维数组有几行
    int row=sizeof(a[0])/sizeof(int);//计算二维数组有几列
    int i,j;
    printf("array a:\n");
    for(i=0;i<line;i++)
    {
        for(j=0;j<row;j++)
        {
            printf("%d\t",a[i][j]);
        }
        printf("\n");//换行
    }
    printf("array b:\n");
    for(i=0;i<line;i++)
    {
        for(j=0;j<row;j++)
        {
            printf("%d\t",b[i][j]);
        }
        printf("\n");//换行
    }
    printf("array a+b:\n");
    for(i=0;i<line;i++)
    {
        for(j=0;j<row;j++)
        {
            printf("%d\t",a[i][j]+b[i][j]);
        }
        printf("\n");//换行
    }    
}