请编写一函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括l与n自身)之和。规定n的值不大于1000。 例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。 注意:部分源程序在文件PROGl.C中。 请

admin2013-04-02  31

问题 请编写一函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括l与n自身)之和。规定n的值不大于1000。
    例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。
    注意:部分源程序在文件PROGl.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
int fun(int n)
{
}
NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
  FILE *rf, *wf ; int i, n, sum ;
  rf = fopen("in.dat","r");
  wf = fopen("out.dat","w");
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%d", &n);
    sum = fun(n);
    fprintf(wf, "%d=%d\n", n, sum);
  }
  fclose(rf); fclose(wf);
}
main()
{int n,sum;
  printf("Input n: "); scanf("%d",&n);
  sum=fun(n);
  printf("sum=%d\n",sum);
  NONO();
}

选项

答案{ int s=0, i; for(i=2; i
解析 (1)首先,在for循环过程中,利用if判断语句判断由2到n-1所有数字中,选择为因子的数。
(2)如果是因子,那么对其进行累计求和。
转载请注明原文地址:https://kaotiyun.com/show/3JJp777K
0

相关试题推荐
最新回复(0)