C语言程序设计 fun函数的功能是,计算二维数组主对角线元素的值和。

如输出123456789输出1 2 3 4 5 6 7 8 9 s=30
2024-11-19 13:23:59
推荐回答(1个)
回答(1):

① 自定义矩阵阶数,函数间传递数组

#include 
main()
{
int i,j,n,s;
printf("请输入矩阵阶数:");
scanf("%d",&n);
int fun(int n,int a[][n]);
int a[n][n];
printf("请输入矩阵元素:\n");
for(i=0;i for(j=0;j scanf("%d",&a[i][j]);
s=fun(n,a);
printf("该矩阵主对角线和为:%d\n",s);
}

int fun(int n,int a[][n])
{
int s=0,i;
for(i=0;i s+=a[i][i];
return s;
}

② 自定义矩阵阶数,函数间传递指针

#include 
main()
{
int i,j,n,s;
printf("请输入矩阵阶数:");
scanf("%d",&n);
int fun(int n,int (*a)[n]);
int a[n][n];
printf("请输入扒销矩阵元素:\n");
for(i=0;i for(j=0;j scanf("%d",&a[i][j]);
s=fun(n,a);
printf("该矩阵主对角线和为:%d\n",s);
}

int fun(int n,int (*a)[n])
{
int s=0,i;
for(i=0;i s+=a[i][i];
return s;
}

③ 规液拍定函数阶数,函数间传递数组

#include 
#define N 4
int fun(int a[][N]);
main()
{
int a[N][N],i,j,s;
printf("矩阵阶数:%d\n",N);
printf("请输入矩阵元素:\n");
for(i=0;i for(j=0;j scanf("%d"闹此羡,&a[i][j]);
s=fun(a);
printf("该矩阵主对角线和为:%d\n",s);
}

int fun(int a[][N])
{
int s=0,i;
for(i=0;i s+=a[i][i];
return s;
}

④ 规定函数阶数,函数间传递指针

#include 
#define N 4
int fun(int (*a)[]);
main()
{
int a[N][N],i,j,s;
printf("矩阵阶数:%d\n",N);
printf("请输入矩阵元素:\n");
for(i=0;i for(j=0;j scanf("%d",&a[i][j]);
s=fun(a);
printf("该矩阵主对角线和为:%d\n",s);
}

int fun(int (*a)[N])
{
int s=0,i;
for(i=0;i s+=a[i][i];
return s;
}

以4阶为例,运行结果为: