转运中国香港仓库地址:编写这个程序
有一个5X5的数组,求其两条对角线元素之和
满足要求..追加30分
搞错了//我要的是VB编写的~
何必要两重循环呢?
楼上的也错了,不该是m+n=6
#include <stdio.h>
void main()
{
int a[5][5] = {
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}
};
int i;
int sum = 0, suma = 0, sumb = 0;
for(i = 0; i < 5; i++)
{
sum += a[i][i];
if(i != 4 - i) sum += a[i][4 - i];
suma += a[i][i];
sumb += a[i][4 - i];
}
printf("SUM : %d, SUMA : %d, SUMB : %d\n", sum, suma, sumb);
}
#include <iostream.h>
void main()
{
int a[5][5];
int m,n;
int fa=0;
for(m=0;m<5;m++)
for(n=0;n<5;n++)
if(m==n) fa+=a[m][n];
cout<<fa<<endl;
}
#include <iostream.h>
void main()
{
int a[5][5];
int m,n;
int fa=0,fb=0;
for(m=0;m<5;m++)
for(n=0;n<5;n++)
if(m==n) fa+=a[m][n];
if((m+n)==5) fb+=[m][n]
cout<<fa<<endl;
cout<<fb<<endl;
}
分不分的不重要,最重要的是大家交流啊!
同意楼上的
就代码运行速度方面:下面的程序应该是最快了哦~~
呵呵
int a[5][5];
int result=a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[4][4]+a[4][0]+a[3][1]+a[2][2]+a[1][3]+a[0][4];
#include<stdio.h>
void main()
{
int a[5][5],i,j,sum=0;
for (i=0;i<5;i++)
for (j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
{
sum+=a[i][i];
sum+=a[i][4-i];
}
printf("sum=%d",sum);
}
感觉双重循环好理解点