题目

 请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与n自身)之和。规定n的值不大于1000。例如,在主函数中从键盘给n输入的值为856,则输出为: sum=763。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#pragma warning (disable:4996)
int fun(int  n)
{
	int i,sum=0;
	if(n<1000){
	for(i=2;i<n;i++){
		
		if(n%i==0){
			sum+=i;
		}

		}
	}

	return sum;
}
main()
{ int  n,sum;
  void NONO( );
  printf("Input n:  ");  scanf("%d",&n);  getchar();
  sum=fun(n);
  printf("sum=%d\n",sum);
  NONO();
  getchar();
}
void 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) ;
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐