农村电商发展优势:用C程序编写一个程序 要求算出一个2维数组的各行数字的和!!数组已经给出!!是已知的

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 03:10:05
数组例如 1, 2,3 ,4
5,8,9,7
58,15,48,12

由于2维数组当形参时,需要知道第二维的长度,因此不太方便,下面这个程序将2维数组看成1维数组处理(因为数组在内存中是连续存储的),而将行列数作为参数输入。
int sumarray(int *a, int m, int n) //m*n的2维数组a
{
int total = m*n;
int i, sum = 0;
for (i=0;i<total;i++)
{
sum += a[i];
}
return sum;
}
在调用的时候,需要作一个强制类型转换(int*)a
main()
{
int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
//这里a的维数可以任意给出

printf("%d",sumarray((int*)a,4,3);//此例中m=4,n=3,可以根据实际改变
}

int array[][]={{1, 2,3 ,4},{5,8,9,7 },{58,15,48,12}};
int count;
for (int i=0;i<3;i++){
count=0;
for(int j=0;j<4;j++){
count+=array[i][j];
}
printf("%d",count);
}