求4×5二维数组的周边元素之和(c语言编程)

求4×5二维数组的周边元素之和(c语言编程)

#include <stdio.h>
void main(){
int i,j,a[4][5],s=0;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
if(i*j==0||i==3||j==4) 
s+=a[i][j];
}
printf("\nS=%d",s);
}

运行示例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-09
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
srand((unsigned)time(0));
int s[4][5];
int i,j;
//随机生成二维数组数据 
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
s[i][j]=rand()%10;
}
}
//输出二维数组 并 计算周围一圈元素之和 
int sum=0;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
printf("%3d ",s[i][j]);
if(i==0 || i==3)  //当第一行和最后一行时累加入sum 
{
sum+=s[i][j];
}
else  //如果是中间几行,则判断如果是第一列和最后一列时累加入sum 
{
if(j==0 || j==4)
{
sum+=s[i][j];
}
}
}
printf("\n");
}
printf("\nsum=%d",sum);
return 0;
}

第2个回答  2018-05-09
手机上写的,手机上编程不好写。写的不好看。

#include<stdio.h>
int main()
{
int sz[4][5]={{1,1,1,1,1},
{1,1,1,1,1} ,
{1,1,1,1,1} ,
{1,1,1,1,1} };
int i,j,sum=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(i==0||i==3)
sum+=sz[i][j];
}
if(i==1||i==2){
sum+=sz[i][0];
sum+=sz[i][4];
}
}
printf("%d",sum);
return 0;
}