问答题
18分
给定程序MODI1.C中,函数fun 的功能是判断整数n是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是...
给定程序MODI1.C中,函数fun 的功能是判断整数n是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。
例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
参考解析: 【参考答案】
(1)for(i=0;i<n;i++)改为for(i=1;i<n;i++)
(2)k=m改为*k=m
(3)if(t=0)改为if(t==0)
【考点分析】
主要考查C语言约定数组的下标是从0开始的,理解指针的指向和指针的区别,以及逻辑运算符的使用
。
【解题思路】
(1)一个数的因子从1开始,不能从0开始
。
(2)k为指针不能直接赋值整数,*k为指针指向的内容。
(3)括号内应为判断语句而不是赋值语句。