输入一个M行M列的二维数组,分别计算两条对角线上的元素之和。M由下面的符号常量定义:

#define M 5

#include <stdio.h>
#define M 5
void main()
{
int a[M][M],i,j,sum1=0,sum2=0;
printf("输入数组:\n");
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
printf("a[%d][%d]= ",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<M;i++)
{
sum1+=a[i][i];
sum2+=a[i][M-i];
}
printf("sum1= %d\n",sum1);
printf("sum2= %d\n",sum2);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-12
#include<stdio.h>

void main()
{
int array[M][M];
int sum;
int i,j;

printf("请输入数组的各个数值");
for (i=0; i<M; i++)
for (j=0; j<M; j++)
scanf("%d",&array[i][j]);

sum = 0;
for (i=0; i<M; i++)
sum += array[i][i] + array[i][M-i-1];

if (M%2 == 1)
sum -= array[M/2][M/2];

printf("对角线之和为:%d\n",sum);
}
第2个回答  2009-05-12
#include <stdio.h>
#define M 5
main()
{
int a[M][M],i,j,sum1=0,sum2=0;
printf("请输入M*M=%d个数",M*M);
for(i=0;i<M;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);

for(i=0;i<M;i++)
{
sum1+=a[i][i];
sum2+=a[i][M-i];
}
printf("\n\n两条对角线的和sum1=%d\nsum2=%d",sum1,sum2);
}
第3个回答  2009-05-12
#define M 5
main()
{
int a[5][5],i,j,s1=0,s2=0;
for (i=0;i<5;i++)
for (j=0;j<5;j++)
scanf ("%d",&a[i][j]);
for(i=0;i<5;i++)
{for (j=0;j<5;j++)
if(i==j) s1+=a[i][j];}
printf ("%d\n",s1);
for(i=0,j=4;i<5,j>=0;i++,j--)
s2+=a[i][j];
printf("%d\n",s2);
}
第4个回答  2009-05-12
int sum1=0,sum2=0;
for(int i=0;i<5;i++)
{
sum1+=a[i][i];
sum2+=a[i][4-i];
}

...计算两条对角线上的元素之和。M由下面的符号常量定义:
define M 5 void main(){ int a[M][M],i,j,sum1=0,sum2=0;printf("输入数组:\\n");for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("a[%d][%d]= ",i,j);scanf("%d",&a[i][j]);} } for(i=0;i<M;i++){ sum1+=a[i][i];sum2+=a[i][M-i];} pri...

...a中的元素,分别求出各行元素之和以及两条对角线上各元素之和,_百度...
int m, n, i, j, sum, sum_1, sum_2;\/\/sum为各行元素之和值;sum_1为主对角线元素之和值;sum_2为辅对角线元素之和值 scanf("%d %d", &m, &n);int num_1[m][n];printf("数组:\\n");srand(time(NULL)); \/\/随机数(0~10之间)产生赋值于数组 for(j = 0; j < m; ...

...并执行初始化,然后计算该数级两条对角线上的元素值之和
Console.WriteLine("两条对角线上的元素值之和是: {0}", sum);Console.Read();} } } 图:

有一个5行5列二维数组,以主对角线为对称线,将对称元素相加并结果存放...
有一个5行5列的矩阵(二维数组b),要求以主对角线为对称线,将对称元素相加并结果存放在下三角元素中,右上三角元素置为0。输入示例:23211568104412101228676145191730367870194517... 有一个5行5列的矩阵(二维数组b),要求以主对角线为对称线,将对称元素相加并结果存放在下三角元素中,右上三角元素置为0。输入示例:23 2...

Fortran计算n行n列二维数组的两个对角线上各元素之和
cin >> num;int **p = new int*[num];\/\/数组大小动态,二维 for (int i = 0; i <num; i++)p[i] = new int[num];int sum = 0;int number;for (int i = 0; i < num; i++) { cout << "请输入矩阵元素";cout << "第" << (i + 1) << "行" << endl;for (...

一个行数与列数相等的二维数组,如何表示该数组两条对角线上的元素
(i==j||i+j==n-1),i表示行,j表示列,n表示行数。i==j表示主对角线的的元素,i+j==n-1表示次对角线上的元素。

给出一个矩阵(二维数组),通过编程计算一下矩阵上三角元素的和,要求元素...
1、LU分解(A = LU) U是高斯消元结果,可视为对A左乘P进行行变换,PA = U,有A = P-1U,则行变换矩阵的逆即为L。L对角线上为1。 2、QR分解(A = QR) Q是A正交化的结果,是A列空间的标准正交基,因为Q是以第一列为初始方向向量,对其他列向量进行变换,故R的第一列只有第一个元素有值,则R是上三角矩...

输入一个二维数组,分别统计各行元素之和并输出统计的结果。
int array[100][100];int a,b,i,j,sum=0;cout<<"输入数组的行和列:"<<endl;cin>>a>>b;cout<<"输入数组元素:"<<endl;for(i=0;i<a;i++)for(j=0;j>array[i][j];for(i=0;i<a;i++){ for(j=0;j<b;j++)sum+=array[i][j];cout<<sum<<endl;sum=0;} return 0;...

C++ 输入一个m行n列的二维数组,m,n由键盘输入,该怎么定义?
C++不支持变长数组。所以你要考虑到M 和 N的最大是多少。然后声明的数组长度就是多少。多出来的数组单元就不要去管他。

vb 知识。,程序改错。 将M行M列二维数组Mat 中的元素按照矩阵的形式输出...
Print Tab(5 * j); Mat(i, j)这里最后直接加个;就OK了。Sum = Sum + Mat(i, j)这里的Mat(i, j)改成Mat(3, j)就行了,因为是要求第三行的元素之和,所以改成3。此是最佳答案,望采纳。

相似回答