如题:求两个数组之和。
例如:输入一个2,2 (2行2列) 元素为: 1,2, 3,4
输入第二个2 2 元素为: 2,3,4 ,5
输出:3 5 7 9
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int m,n;
int i,j;
scanf("%d%d",&m,&n);
scanf("%d%d",&i,&j);
if(m!=i||n!=j)
{
printf("数组大小不统一,请检查");
}
else
{
int sum=0;
int **a;
int i,j;
a=(int**)malloc(sizeof(int*)*m);//创建一个指针shu'z,把指针数组的地址赋给a
for(i=0;i<n;i++)
{
a[i]=(int*)malloc(sizeof(int)*n);//给二维分配空间
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
int **b;
//int i,j;
b=(int**)malloc(sizeof(int*)*m);//创建一个指针shu'z,把指针数组的地址赋给b
for(i=0;i<n;i++)
{
b[i]=(int*)malloc(sizeof(int)*n);//给二维分配空间
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&b[i][j]);
}
}
int **c;
//int i,j;
c=(int**)malloc(sizeof(int*)*m);//创建一个指针shu'z,把指针数组的地址赋给b
for(i=0;i<n;i++)
{
c[i]=(int*)malloc(sizeof(int)*n);//给二维分配空间
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i][j]=a[i][j]+b[i][j];
}
}
printf("\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%-5d\t",c[i][j]);
}
printf("\n");
}
}
return 0;
}
运行结果如图: