问答题
改错题(20分)
【题目】
以下程序中,函数fun(int m, int fac[], int &p)的功能是:计算参数m(m>2)的所有因子,将这些因子按从小到大的顺序依次存放在数组fac中,将因子个数存放在参数p中,并返回所有因子之和。
正确程序的输入/输出结果如下(下划线部分为键盘输入):
输入一个整数:24
24的所有因子之和为:60
24的各因子为:1 2 3 4 6 8 12 24
含有错误的源程序如下:
1 #include
2 #include
3 int fun(int,int[],int);
4 void main(void)
5 {
6 int n,f[100],p;
7 cout<<"输入一个整数:";
8 cin>>n;
9 cout<
【正确答案】 第3行 int fun(int,int[],int); 改为int &
第19行 for(s=1,i=2;i<=sqrt(m);i++){ 改为i<=m/2或i
【答案解析】