用C语言编程求M×N二维数组的周边元素之和,并用函数实现

作者&投稿:宇剂 (若有异议请与网页底部的电邮联系)
、求M×N二维数组的周边元素之和。~

public Integer sum(){
int n = 5;
int m=7;
Integer[][] array = new Integer[5][7];
Integer sum = 0;
// 取第一行和最后一行的数据
for(int i=0;i<m;i++) {
sum += array[0][i]+array[n-1][i];
}
//取第一列和最后一列,要出去四角的四个数,因为行的时候已经加了
for(int i=1;i<n-1;i++) {
sum += array[i][0]+array[i][m-1];
}
return sum ;

}
下面图形解释一下

有一个数组a[m,n]
现在开始计算
int sum = 0;
//先计算上边和下边
for(int i=0;i<N;i++)
sum=sum + a[0,i] + a[M-1,i];
//再计算左右两边
for(int i=0;i<M-1;i++)
sum = sum + a[i,0] + a[i,N];
//现在这个sum就是你那个二维数组最外圈的数的和了

#include<stdio.h>
#define M 3
#define N 4
int matrixsum(int d[M][N])
{
int i,j,sum=0;
for(j=0;j<N;j++)
sum+=d[0][j];
for(i=1;i<M;i++)
sum+=d[i][N-1];
for(j=N-2;j>=0;j--)
{
if(M>1)
sum+=d[M-1][j];
}
for(i=M-2;i>0;i--)
{
if(N>1)
sum+=d[i][0];
}
return sum;
}
int main()
{
int i,j,sum;
int data[M][N];
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&data[i][j]);
}
}
sum=matrixsum(data);
printf("%d
",sum);
return 0;
}

不管几维矩阵都满足条件



参考代码如下,希望能帮到你。



#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define M 4
#define N 5
int fun( int a [M][N])
{
int i,j,sum=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(i==0||i==M-1||j==0||j==N-1)
sum+=a[i][j];
return sum;
}
void main()
{
FILE *wf;
int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};
int i, j, y;
system("CLS");
printf ("The original data is :\n ");
for(i=0; i<M;i++)
{for (j=0; j<N;j++)
printf("%6d ",aa[i][j]);
printf("\n ");
}
y=fun(aa);
printf("\nThe sun: %d\n ",y);
printf("\n ");
/******************************/
wf=fopen("out.dat","w");
fprintf (wf,"%d",y);
fclose(wf);
/*****************************/
}


C语言怎么求m* n的值
在C语言中,求m*n的值可以通过以下步骤实现:1. 声明两个整数变量m和n,分别赋值为你想要相乘的两个数。2. 声明一个整数变量result,用于存储m*n的结果。3. 使用乘法运算符(*)将m和n相乘,并将结果赋值给result。4. 输出result的值。以下是一个简单的示例代码:```c include <stdio.h> int...

c语言:请编写一个函数,可调用它来计算m*n矩阵与n*m矩阵的积。主函数...
int m,n,i,j;int array_a[maxsize][maxsize],array_b[maxsize][maxsize],array_c[maxsize][maxsize],array_d[maxsize][maxsize];printf("请输入第一个矩阵的行数m(1-%d)和列数n(1-%d):\\n",maxsize,maxsize);scanf("%d %d",&m,&n);printf("请输入A矩阵(%d*%d):\\n",m,n...

用C语言编程求M×N二维数组的周边元素之和,并用函数实现
}return sum;}int main(){int i,j,sum;int data[M][N];for(i=0;

m*n的矩阵如何用c语言编出来?输出一个m*n的矩阵?
int m,n;int i,j;int *p;int *q;int a[100]; \/\/这个数组限定了最多只能输入100个元素 printf("输入行M的值:");scanf("%d",&m); printf("\\n");printf("输入列N的值:");scanf("%d",&n); printf("\\n");q=a;p=a;printf("输入数据:\\n");for(i=0;i<n;i++...

用c语言写一个代码“创建一个m*n和n*s的矩阵,求两者乘积,若计算结果
void matrix() { int m,n; int i,j; int *p; int *q; int a[一00]; \/\/这个数组限定了最多只能输入一00个元素 printf("输入行M的值:"); scanf("%d",&m); printf("\\n"); printf("输入列N的值:"); scanf("%d",&n); printf("\\n"); q=a; ...

C语言如何输入一个m*n的数组,m、n都从键盘输入
int a[20][20];2、先输入m和n,用scanf函数,代码如下:printf("请输入m和n(m < 20, n < 20):");scanf("%d%d", &m, &n);3、再输入数组,使用for循环,因为n是最大行数,所以先n放在外循环:for(i = 0; i < n ; i ++){ for(j = 0; j < m ; j ++){ printf("请...

C语言 随机产生一个m*n的100以内的正整数矩阵,输出这个矩阵
include "stdio.h"#include <stdlib.h>#include "time.h"int main(int argc,char *argv[]){int m,n,**p,*q,*t,i,j,k;printf("Please enter m & n(int 0<m,n)...\\n");if(scanf("%d%d",&m,&n)!=2 || m<1 || n<1){printf("Input error, exit...\\n");return 0;...

c语言 输入一个m*n整形的二维数组,对其每行求和,和单独存放在一个一维...
int i,j,a[M][N],b[M] = {0};printf("输入 %d 个整数(空格隔开):\\n\\n",M * N);for(i = 0; i < M; ++i)for(j = 0; j < N; ++j)scanf("%d",&a[i][j]);for(i = 0; i < M; ++i)for(j = 0; j < N; ++j)b[i] += a[i][j];printf("\\n\\n各...

C语言编程题 计算Cmn
Cmn是一个数学上的公式,其中m是其的下角标,n是其的上角标。计算方法是 m×(m-1)×(m-2)×……共有n项的乘积,然后除以n的阶乘用C语言做这个计算的编程,步骤如下:1、首先需要读取m和n的值,然后在读取的同时进行判断是否满足m>0、n>0、m>=n的条件,如果不满足要求重新输入。2、然后...

C语言编程:输入一个M*N的整数矩阵,求其最大值及其所在的行号、列号...
include<stdlib.h> int main(){ int i,m,n,*array;printf("请输入矩阵行数:");scanf("%d",&m);printf("请输入矩阵列数:");scanf("%d",&n);array=(int*)malloc(m*n*sizeof(int));printf("请输入该%d*%d矩阵:\\n",m,n);for(i=0;i<m*n;i++)scanf("%d",&array[i]);int...

洪雅县15863873650: 求M*N二维数组的周边元素之和~用C语言做出~求大神~ -
父天斯唯: 有一个数组a[m,n] 现在开始计算 int sum = 0;//先计算上边和下边 for(int i=0;i<N;i++) sum=sum + a[0,i] + a[M-1,i];//再计算左右两边 for(int i=0;i<M-1;i++)//现在这个sum就是你那个二维数组最外圈的数的和了

洪雅县15863873650: c语言编程从键盘输入一个M*N的二维数组,求该数组中最外圈的平均值 -
父天斯唯: #include<stdio.h> int main() {int m, n;int sum=0;scanf("%d%d",&m,&n);int a[m][n];for(int i=0;i<m;i++){1653for(int j=0;j<n;j++){scanf("%d",&a[i][j]);if(i==0 ||j==0||j==n-1||i==n-1){sum+=a[i][j];//最外圈元素回累加}}}sum=sum/(2*(m+n-2));printf("最外圈的答平均值:%d",sum); }

洪雅县15863873650: c语言编程:输入一个M*N二维数组,求该二维数组所有靠外侧的元素之和.要求M和N用#define 进行定义 -
父天斯唯: #define M 5 #define N 5 #include main() { int i,j,a[M][N],sum=0; for(i=0;i>>>>\t%d\n",sum); }

洪雅县15863873650: 编写程序求M*N二维数组的周边元素之和 -
父天斯唯: INTERVAL-SUM(a, s, e) /*区间求和函数t←0for s to edo t←t + a[s]return (t)sum←INTERVAL-SUM(A[0], 0, N-1)+ INTERVAL-SUM(A[M-1], 0, N-1) for r←1 to M-2sum←(sum + matrix[r][0] + matrix[r][N-1])

洪雅县15863873650: (c语言)编写一个程序 功能是求出二维数组周边元素平均值 -
父天斯唯: 思路:求出二维数组周边元素平均值,首先需要计算周边元素的个数和累加和,周边元素有一个性质就是,该元素的横纵下标中必有一个0或者是元素个数减一,所以通过一个if判断语句就可以求出来. 参考代码:1 2 3 4 5 6 7 8 9 10 11 12 13 ...

洪雅县15863873650: 你好,我是想问你一下以前你做的这个题目的C语言完整代码了 函数的功能是求出二维数组周边元素之和,作为函数值返回.二维数组中的值在主函数中赋予.(数组维数用宏定义)
父天斯唯: n*m维数组,使用两层(i,j)for循环遍历,当i=0或者=n-1,或者当 j=0或者j=m-1时,加起来就可以了

洪雅县15863873650: VC环境下,编程求二维数组M*N的外围元素之和.(麻烦多加点注释,谢谢!)
父天斯唯: #include<stdio.h> void main() { int m,n,a[20][20],i,j,sum=0; printf("请输入M,N:\n"); scanf("%d%d",&m,&n); printf("请输入%d个值:\n",m*n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); printf("距阵是:\n"); for(i=0;i<m;...

洪雅县15863873650: 大一c语言作业 找出具有m行n列二维数组Array的“鞍点” -
父天斯唯: #define N 10 #include <stdio.h> int Maxcol(int a[][N],int n,int row){int i,maxcol=0;for(i=1;i<n;i++)if (a[row][i]>a[row][maxcol]) maxcol=i;return maxcol; } int Minrow(int a[][N],int m,int col){int i,minrow=0;for(i=1;i<m;i++)if (a[i][col]<a[minrow][col]) ...

洪雅县15863873650: 二维数组靠边元素c语言 -
父天斯唯: #include#define ROW 3 /*数组第一维的大小*/ #define COL 3 /*数组第二维的大小*/ /*求靠边元素的宏*/ #define IFEDGE(MaxRow,MaxCol,CurRow,CurCol) (CurRow==0||CurCol==0||CurRow==MaxRow-1||CurCol==MaxCol-1) int main() { int data[ROW][COL]; int counter1,counter2; int sum=0; /*输入数组元素*/ for(counter1=0;counter1

洪雅县15863873650: C语言程序设计题求解:有一个m*n的整型二维数组,输出其中最大值所在的行号和列号,以及该最大值. -
父天斯唯: 程序如下: #include<stdio.h> void main() { int m,n,max,bi,bj; int a[256][256]; int i,j; printf("输入m和n的值:\n"); scanf("%d%d",&m,&n); printf("输入一个%d*%d的矩阵:\n",m,n); for(i=0;i<=m-1;i++) { for(j=0;j<=n-1;j++) { scanf("%d",...

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