c语言 二维数组 对角线相加

作者&投稿:坚纪 (若有异议请与网页底部的电邮联系)
C语言编程:二维数组对角线求和~

#include
#define N 3
int main()
{
int i,j,sum=0;
int a[N][N]; //假设数组为3*3;
printf("please input :
");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
sum +=a[i][i];
printf("sum=%d
",sum);
getchar();
return 0;
}

说明:一般求对角线之和都是针对矩阵的,即二维数组的行列数相同。下面就是以矩阵举的例:
#include
#define N 4 /*改变N的值可以改变数组的大小*/
void main()
{
int a[N][N];
int i,j,sum=0;
printf("请输入一个4*4矩阵:");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("
");
}
for(i=0;i<N;i++)
sum=sum+a[i][i];
printf("对角线和为:%d
",sum);
}

正确代码

#include<stdio.h>
#define M 5
int fun(int n,int xx[][M])
{
int i,j,sum=0;
printf("\nthe %d x %d matrix :\n",M,M);

for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%3d",xx[i][j]);
printf("\n");
}

for(i=0;i<n;i++)
sum=sum+xx[i][i];

return sum;

}

main()
{
int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
printf("\nthe sum of elements on 2 dignals is %d\n",fun(M,aa));
}


淇滨区17081754149: C语言表示2维数组对角线相加 -
尾先降脂: 由于C语言在编译时 必须分配足够的内存 若开始行列都不确定 那么内存不定 无法通过编译但修改下的N值可以改变行和列#include<stdio.h> #define N 3 void main() {int i;int j;int a[N][N];int sum1;int sum2;for(i=0;i<N;i++)for(j=0;j<N;j++){printf...

淇滨区17081754149: c语言 二维数组 对角线相加 -
尾先降脂: 正确代码#include<stdio.h> #define M 5 int fun(int n,int xx[][M]) {int i,j,sum=0;printf("\nthe %d x %d matrix :\n",M,M); for(i=0;i<M;i++){for(j=0;j<M;j++)printf("%3d",xx[i][j]);printf("\n");} for(i=0;i<n;i++)sum=sum+xx[i][i];return sum;}...

淇滨区17081754149: c语言编写:有一个二维数组,编写一程序,求该二维数组两对角线的和,并找出该二维数 -
尾先降脂: #include <stdio.h>#define M 4 int num[M][M]={ {34,12,15,10}, {78,9,0,87}, {80,19,100,21}, {45,23,35,43} };typedef struct//结构体用来保存最大值和最小值的信息 {int x;int y;int value; }point;void main() {point max,min;int i,j;int sum[2]={0}; ...

淇滨区17081754149: 用C语言编写一个3x3的二维数组,求对角线的和 -
尾先降脂: 这个很简单啊 3x3的二维数组 你自己定义为 int A[x][y]; (你这题x=3,y=3;) 对角线你自己看下 是不是有主对角线和副的? 主的好求 在循环里 只有当x = y的时候就把他们的值相加 最后就是主对角线的值副对角线的话你看下 第一个是不是 x=1 y=2 第二个x=2 y=2 第三个x=2 y=1 也是在循环里用个判断写下就OK了最后的结果就是两对角线的和了 你好好做下看看

淇滨区17081754149: C语言 二维数组,定义double型4*4的二维数组,求对角线元素的和 -
尾先降脂: #include<stdio.h> int main() {double a[4][4];int i,j;for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%lf",&a[i][j]);printf("%lf\n",a[0][0]+a[1][1]+a[2][2]+a[3][3]);return 0; }

淇滨区17081754149: 求二维数组对角线上的数的总和 -
尾先降脂: #include <stdio.h> main() { int i,j,sum; int a[5][5]; sum=0; for (i=0;i<=4;i++) for (j=0;j<=4;j++) scanf("%d",a[i][j]); for (i=0;i<=4;i++) sum=sum+a[i][i]; printf("%d",sum); }

淇滨区17081754149: 用C#语言怎么求二维数组的对角线之和 -
尾先降脂: long sum = 0; for(int i = 0;i<M;i++) {sum += A[i][i]; }A 是二维数组,M是数组 的 一维长度

淇滨区17081754149: C语言4*4二维数组各对角线元素之和? -
尾先降脂: #include void main() { int str[4][4],sum1=0,sum2=0,sum=0,i; for(i=0;i=0;i--) sum2+=str[i][3-i]; sum=sum1+sum2; printf("sum1=%d",sum2=%d,sum=%d\n",sum1,sum2,sum); }

淇滨区17081754149: C语言用二维数组编程计算一个n*n的方阵中两条对角线上数据之和
尾先降脂: 核心代码如下 double sumdiag(double a[N][N]) { int i; double sum = 0; for(i = 0; i < N; i++) { sum += a[i][i]; } return sum; }

淇滨区17081754149: (c语言)任意输入一个3行3列的二维数组,求对角之和. -
尾先降脂: #include<stdio.h>//加入头文件 void main() {int a[3][3];//定义一个3行3列的二维数组int i,j,s=0;for(i=0;i<3;i++)//用两个循环来输入数组for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++)s=s+a[i][i];//求斜向右下的对角线的和for(i=1;i<=3;i++)s=s+a[3-i][i-1];//求斜向右上的对角线的和printf("结果:%d\n",s); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网