编写一个程序,实现如下功能: 从键盘输入一个M*N的整数矩阵,求这个矩阵的周边元素之和

、编写一个程序,实现如下功能:
从键盘输入一个M*N的整数矩阵,求这个矩阵的周边元素之和,例如,如果输入矩阵为:【问题编号:1047】
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
则输出结果为:61

#include <stdio.h>
#include <stdlib.h>
#include <maloc.h>
int main()
{
    int m,n,i,j,s=0,*ip;
    printf("请输入正整数m,n:");
    scanf("%d%d",&m,&n);
    ip=maloc(sizeof(int),m*n);
    printf("请输入数据,以空格或者回车分隔\n");
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            scanf("%d",&(ip[i][j]));
    
   i=0;for(j=0;j<n;j++) s+=ip[i][j];
   i=m-1;for(j=0;j<n;j++) s+=ip[i][j];
    
   j=0; for(i=1;i<m-1;i++) s+=ip[i][j];
   j=n-1;for(i=1;i<m-1;i++) s+=ip[i][j];
   
   printf("数据阵列周边的数之和=%d\n",s);
   system("PAUSE");
   return (0);
 }

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-01
自己敲的,你看看是不是你要的……我吃饭去了,有事发邮件479292539@qq.com
#include<stdio.h>
#define M 4
#define N 5

void main()
{
int a[M][N],i,j;
int num=0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("请输入a[%d][%d]:",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
if(i==0||i==M-1||j==0||j==N-1)
num+=a[i][j];
}
}
printf("\na[%d][%d]周边元素和为:%d",M,N,num);
}本回答被提问者和网友采纳
相似回答