用C语言编程用函数的方式打印二维数组、计算二维数组之和并打印结果:
#include<stdio.h>
#define N1 2
#define N2 3
int main(void)
{
int a[N1][N2]={{1,2,3},{4,0}};
puts("当前数组为:");
printArray(a);
int sum1;
sum1=sumArray(a);
printf("二维数组总和为%d",sum1);
}
void printArray(int b[][N2])//打印二维数组
{
for(size_t i=0;i<N1;++i)
{
for(size_t j=0;j<N2;++j)
{
printf("%d",b[i][j]);
}
puts("");
}
}
int sumArray(int b[][N2])//计算二维数组元素和
{
int sum=0;
for(size_t i=0;i<N1;++i)
{
for(size_t j=0;j<N2;++j)
{
sum+=b[i][j];
}
}
puts("");
return sum;
}
代码运行结果:
通过更改上述N1=3,N2=3计算一个3×3数组的对角线和,代码如下:
#include<stdio.h>
#define N1 3
#define N2 3
int main(void)
{
int a[N1][N2]={{1,2,3},{4,7,9},{2,34,6}};
puts("当前数组为:");
printArray(a);
int sum1;
sum1=sumArray(a);
printf("二维数组对角线总和为%d",sum1);
}
void printArray(int b[][N2])
{
for(size_t i=0;i<N1;++i)
{
for(size_t j=0;j<N2;++j)
{
printf("%3d",b[i][j]);
}
puts("");
}
}
int sumArray(int b[][N2])
{
int sum=0;
for(size_t i=0;i<N1;++i)
{
for(size_t j=0;j<N2;++j)
{
if(i==j){
sum+=b[i][j];
}
}
}
puts("");
return sum;
}
运行结果如下: