填空题 给定程序MODI1.C中函数fun的功能是先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
void fun()
{ int a[3][3],sum;
int i,j;
/**********found***********/
1,
printf("Input data:");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
/************found**********/
scanf("%d",a[i][j]);
}
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d/n",sum);
}
main()
{
fun();
}
【正确答案】
【答案解析】sum=0;
scanf("%d",&a[i][j]); [解析] 该题考查对循环语句的掌握和对数组概念的理解。本题的解题思路为:先从键盘输入一个3×3矩阵,然后循环累加,执行循环语句中的sum=sum+a[i][i];。因为变量sum用来存放累加后的结果,所以应对其初始化为0。第二处错误考查标准输入函数scanf的格式,被赋值的变量前要加上取地址符“&”。