#include <stdio.h>
int add(int a[m][n]){
int sum=0,i,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
if(i==0||j==0||i==m-1||j==n-1){
sum+=a[i][j];
}
}
}
return sum;
}
int main(){
int m,n;
printf("行:m=");
scanf("%d\n",&m);
printf("列:n=");
scanf("%d\n",&n);
int a[m][n],sum=0,i,j;
printf("请输入%d个整数:",m*n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
sum=add(a);
printf("外侧元素和:%d",sum);
}
修改如下,供参考:
#include <stdio.h>
#define M 20 //修改
#define N 20 //修改
int add(int a[][N],int m,int n) { //修改
int sum = 0, i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (i == 0 || j == 0 || i == m - 1 || j == n - 1) {
sum += a[i][j];
}
}
}
return sum;
}
int main() {
int m, n;
printf("行:m=");
scanf("%d", &m); //scanf("%d\n", &m);修改
printf("列:n=");
scanf("%d", &n); //scanf("%d\n", &n);修改
int a[M][N], sum = 0, i, j; //修改
printf("请输入%d个整数:", m * n);
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
sum = add(a, m, n); //修改
printf("外侧元素和:%d", sum);
}