weixin_慕少4085253
2019-09-28 07:38
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
for(i=0;i<3;i++)
{
for(j+0;j<3;j++)
{
if((i+j)%2==0)
{
sum==sum+arr[i][j];
}
else
{
sum==sum;
}
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
从设计角度上来说更容易扩展,当length不固定时,对于正矩形来说这种方法更合适。%2这个可能就被限制在length=3的死角了。附上正矩形对角线之和的代码:
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
int length = 3;
for(i=0;i<length;i++)
{
for(j=0;j<length;j++) {
if(i == j || i == length-1-j) {
sum += arr[i][j];
}else {
continue;
}
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if((i+j)%2==0)
sum+=arr[i][j];
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
那儿应该是赋值符号吧
“sum==sum+arr[i][j];”
看看自己错哪儿了
C语言入门
926027 学习 · 20793 问题
相似问题