關(guān)于多維數(shù)組遍歷求對(duì)角線之和,求教
#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++)
? ? {?
? ? ? ? int sum1=0;
? ? ? ? int sum2=0;
? ? ? ?for(j=0;j<3;j++)
? ? ? ?
? ? ? ?{
? ? ? ? ??
? ? ? ? ? ?if(i==j)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?sum1=sum1+arr[i][j];
? ? ? ? }
? ? ? ? ? ?else if(i+j==2||i!=j)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?sum2=sum2+arr[i][j];
? ? ? ? ? ?}
? ? ? ? ? ?
? ? ? ?}
? ? ? ?
? ? ? ?sum=sum1+sum2;
? ??
? ? }
? ? printf("對(duì)角線元素之和是:%d\n",sum);
? ? return 0; ? ?
}
不知道怎么改。求高手··謝謝
2016-10-20
2016-10-20
#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 sum1=0;
??? int sum2=0;//這里的sum1和sum2的賦值應(yīng)在第一個(gè)for循環(huán)之外
??? for(i=0;i<3;i++)
??? {
?????? for(j=0;j<3;j++)
?????? {
?????????? if(i==j)
?????????? {
?????????????? sum1=sum1+arr[i][j];
??????????? }
?????????? else if(i+j==2&&i!=j)
?????????? {
?????????????? sum2=sum2+arr[i][j];
?????????? }
?????? }
?????? sum=sum1+sum2;
??? }
??? printf("對(duì)角線元素之和是:%d\n",sum);
???
2016-10-20
有倆條對(duì)角線,你排出來(lái)就懂了,矩陣么,對(duì)角線和為(i+j)%2=0,像a[0][0]和a[0][2]都在對(duì)角線上,分別是正對(duì)角線和反對(duì)角線