注册 登录
编程论坛 VC++/MFC

这个程序有点小问题,请看下

青菜可可 发布于 2014-09-03 21:01, 546 次点击
#include<stdio.h>
#define n 3
int fun(int a[][])
{
    int i=0;
    int sum=0;
    for(i=0;i<n;i++)
    {
        sum+=a[i][i];
    }
    return sum;
}
void main()
{
    int a[][];
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            scanf("%d",&a[i][j]);
        for(i=0;i<n;i++)
            for(int j=0;j<n;j++)
                printf("%d ",a[i][j]);
            printf("%d",fun(a));
}
求高手帮看下哪里错了,怎么改
5 回复
#2
yuccn2014-09-04 00:06
int a[][];-》int a[n][n]={0};
#3
funyh2502014-09-04 00:15
sum=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            sum=+a[i][j];
        }
为何不精简下
累加函数里的for循环错了
#4
青菜可可2014-09-04 14:31
回复 2 楼 yuccn
这么改也不对啊
#5
青菜可可2014-09-04 14:33
回复 3 楼 funyh250
这个是求n*n方阵的主对角线之和的,我不会,麻烦能改个完整的程序吗
#6
funyh2502014-09-04 15:13
回复 5 楼 青菜可可
程序代码:
void main()
{
    int a[n][n]={0},sum=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==j)
            {
                sum+=a[i][j];
            }
        }
        printf("%d",sum);

}
1