输入一个M行M列的二维数组,计算四周元素之和。M由以下符号常量定义:#define M 5

如题所述

以下程序已经过调试测试
#include<iostream.h>
#define M 5
void main()
{
int a[M][M],i,j,sum=0;
cout<<"input a:"<<endl;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
cin>>a[i][j];//输入数组
for(i=0;i<M;i++)
{
sum+=a[i][0];
sum+=a[i][M-1];
}

for(j=0;j<M;j++)
{
sum+=a[0][j];
sum+=a[M-1][j];
}
sum=sum-2*(a[0][0]+a[M-1][M-1]);//之前求和时,a[0][0],a[M-1][M-1]多加了两次.
cout<<"sum="<<sum<<endl;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-26
#include <stdio.h>
#define M 5
void main()
{
int a[M][M],sum=0,i,j;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
scanf("%d",&a[i][j]);
if(i==0||j==0||i==M-1||j==M-1)
sum+=a[i][j];
}
printf("sum=%d\n",sum);
}追问

有错误

追答

VC++ 2010 测试通过。运行情况如下:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
sum=48
请按任意键继续. . .

输入一个M行M列的二维数组,分别计算两条对角线上的元素之和。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...

C语言程序:求一个二维数组元素的周边之和
求一个二维数组元素的周边之和:源程序如下:define N 3\/\/宏定义N=3 include <stdio.h> void main(){ int number[N][N] = { {1,2,3},{4,5,6},{7,8,9} };\/\/定义二维数组并赋初值 int i, j;\/\/定义循环变量 int sum = 0;\/\/定义加和变量,并初始化赋值为0 for (i = 0;...

输入一个5行5列的二维数组,计算四周元素之和
int main(){ int i,j,sum=0,matrix[5][5];for(i=0;i<5;i++)for(j=0;j<5;j++){ scanf("%d",&matrix[i][j]);if(i==0||i==4||j==0||j==4)sum+=matrix[i][j];} printf("%d\\n",sum);return 0;}

输入一个4行5列的二维数组,求出既是所在行最大值又是所在列最大值的值...
define M 4 define N 5 int main(){ int a[M][N],i,j;int i1,j1,found;for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);printf("输入的数组为:\\n");for(i=0;i<M;i++){ for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("\\n");} for(i=0...

编制函数f,用于在M行n列的二维数组中查找值最大的元素之行下标与...
编制函数f,用于在M行n列的二维数组中查找值最大的元素之行下标与下列 #include<stdio.h>{voidf(int**a,intm,intn,int**m,int**n){inti,j,max=a[0][0];\/***请在以下补充完整***\/\/***请在以上补充完整***\/}Voidmain(){File*fp;intii,jj;intb[3][3]... #include<stdio.h>{ void f...

输入m行n列的二维数组的值,再按行列形式输出.
就是说a[m][n],m,n不能是变量,你平常可能看到过a[m][n]定义数组的,但仔细观察就会发现这个时候都能在上面找到#define m XXX与#define m XXX,这个时候m和n都是固定大小,系统才知道如何分配空间!LZ的题目,有两种方式解决,方法一就是定义足够大的数组,再利用两个int型来限制可以使用...

c语言,输入一个4行3列的二维数组,计算所以元素的和的代码
include<stdio.h> void main(){ int a[4][3],s=0;for(int i=0;i<4;i++)for(int j=0;j<3;j++){ scanf("%d",&a[i][j]);s+=a[i][j];} printf("所有元素的和为%d\\n",s);}

输入一个二维数组,分别统计各行元素之和并输出统计的结果。
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;...

...二维数组),通过编程计算一下矩阵上三角元素的和,要求元素的值由键盘...
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是上三角矩...

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

相似回答