關于多維數組遍歷求對角線之和,求教
#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("對角線元素之和是:%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的賦值應在第一個for循環之外
??? 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("對角線元素之和是:%d\n",sum);
???
2016-10-20
有倆條對角線,你排出來就懂了,矩陣么,對角線和為(i+j)%2=0,像a[0][0]和a[0][2]都在對角線上,分別是正對角線和反對角線