|
发表于 2023-4-2 21:53:10
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void main()
{
int a[99][99],h,l,i,j,sum;
scanf("%d%d",&h,&l);
for(i=0;i<h;i++)
for(j=0;j<l;j++)
scanf("%d",&a[i][j]);
for(i=0;i<h;i++)
{
for(j=0;j<l;j++)
{
if(i==0)
sum=sum+a[0][j];
else if(j==0)
sum=sum+a[i][0];
else if(i==(h-1))
sum=sum+a[i][j];
else if(j==(l-1))
sum=sum+a[i][j];
}
}
sum=sum-a[0][0]-a[h-1][l-1]-a[0][l-1]-a[h-1][0];
printf("%d",sum);
}
求大佬帮忙看看错误在哪
那是因为之前的代码忽略了角落的元素,你可以试试这个代码:
#include <stdio.h>
void main() {
int a[99][99], h, l, i, j, sum = 0;
scanf("%d%d", &h, &l);
for (i = 0; i < h; i++)
for (j = 0; j < l; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < h; i++) {
for (j = 0; j < l; j++) {
if (i == 0 && j > 0 && j < l - 1) {
sum += a[i][j];
} else if (j == 0 && i > 0 && i < h - 1) {
sum += a[i][j];
} else if (i == h - 1 && j > 0 && j < l - 1) {
sum += a[i][j];
} else if (j == l - 1 && i > 0 && i < h - 1) {
sum += a[i][j];
}
}
}
// Add the corner elements
sum += a[0][0] + a[h - 1][l - 1] + a[0][l - 1] + a[h - 1][0];
printf("%d", sum);
}
|
|