注册 登录
编程论坛 C++教室

请帮忙把以下程序的问题找出来并改正!谢谢!

雪色朝阳 发布于 2010-03-14 17:51, 427 次点击
以下程序是先输入几个数,再以3行3列的形式输出。最后求主对角线元素之积

#include<stdio.h>

void fun()
{
int i,mul=1;                              
for(i=0;i<3;i++)
mul=mul* a[i][i];
printf("mul=%d\n",mul);
}

 main()
{
int a[3][3],i,j  ;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
fun();
}

新手学编程!请各位不啬赐教!
3 回复
#2
cnfarer2010-03-14 19:05
#include<stdio.h>
int a[3][3];
void fun()
{
int i,mul=1;                              
for(i=0;i<3;i++)
mul=mul* a[i][i];
printf("mul=%d\n",mul);
}

main()
{
int i,j  ;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
fun();
}
#3
雪色朝阳2010-03-14 20:57

#include<stdio.h>
void fun()
{
int a[3][3];
int i,mul=1;                              
for(i=0;i<3;i++)
mul=mul* a[i][i];
printf("mul=%d\n",mul);
}

main()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
fun();
}

可以解释一下为什么我把a[3][3]分别放在括号内定义却不行吗?
#4
ltyjyufo2010-03-14 21:45
这个函数有错:
void fun()
{
int i,mul=1;                              
for(i=0;i<3;i++)
mul=mul* a[i][i];
printf("mul=%d\n",mul);
}

    只要把main函数里面的int a[3][3]定义为全局变量就可以了。
1