最好的密封胶:编写这个程序

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 08:55:08
编写这个程序

有一个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);
}

感觉双重循环好理解点