题目来源:大工慕课 链接
作者:Caleb Sung
题目要求
求m*n数组外围元素之和
参考代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int m, n, a[100][100],i,j,s2=0,sum=0;
printf("输入m的值: ");
scanf("%d", &m);
printf("输入n的值: ");
scanf("%d", &n);
srand(time(NULL)); //生成随机种子
for(i=0;i<m;i++) //赋值
for(j=0;j<n;j++)
a[i][j]=rand()%100+0;
printf("随机生成的数组为:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
if(j==n-1)
printf("\n");
}
printf("\n");
for(i=0;i<=m-1;i++) //求第一与第四纵列元素之和并叠加给s2
{
s2+=a[i][0];
s2+=a[i][m-1];
}
for(i=1;i<=m-2;i++) //求第一与第四横行不与上个步骤重叠的元素之和并叠加给s2
{
s2+=a[0][i];
s2+=a[m-1][i];
}
printf("此数组外围元素之和的值为: %d\n",s2);
}
运行效果
【输出】
输入m的值:
【输入】8
【输出】
输入n的值:
【输入】10
【输出】
随机生成的数组为:
45 46 1 36 10 0 96 68 78 35
27 31 67 16 34 33 26 66 78 9
33 99 88 9 4 72 18 5 95 78
60 85 73 31 8 24 94 61 73 26
60 60 86 1 72 86 39 80 68 2
47 64 39 53 65 56 89 41 56 43
7 99 76 51 2 16 34 64 40 38
83 89 10 68 10 22 89 75 30 39
此数组外围元素之和的值为: 1299