为了账号安全,请及时绑定邮箱和手机立即绑定

使用函数输出指定范围内的完数

使用函数输出指定范围内的完数

慕森卡 2018-08-17 13:18:25
题目:使用函数输出指定范围内的完数:输入两个正整数m和n(1<=m,n<=1000),输出m与n之间的完数,完数就是因子和它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如:factorsum(12)的返回值是16(1+2+3+4+6)。#include<stdio.h>int factorsum(int i);int main(){ int n,m,i,count;  printf("Enter m,n:"); scanf("%d%d",&m,&n); if(m>n){  printf("please again!\n");   } printf("Enter m,n:");    scanf("%d%d",&m,&n); if(m<n){   for(i=m;i<=n;i++){          factorsum(i);          if(count==i){           printf("%d\n",i);    }   } } return 0;}int factorsum(int i){ int j,count; count=0; for(j=1;j<=i/2;j++){  if(i%j==0){   count=count+j;  } } return count;}但是结果显示Enter m,n:6 3please again!Enter m,n:3 63456Press any key to continue这样显然不对,最小的一个完数应该是6,他应该只输出6.还有count是不是定义有问题?很纠结,能帮忙说一下问题出在哪里以及怎么改吗?谢谢!
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

if(count==i)

判断的时候你少写了一个=


查看完整回答
反对 回复 2018-09-10
  • 1 回答
  • 0 关注
  • 2792 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信