求教一道C语言问题

输入2个正整数m和n(m≥1,n≤1000),输出m~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number)... 输入2 个正整数m 和n(m≥1,n≤1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。
我的答案:
#include<stdio.h>
int factorsum(int number)
{
int j,s=0,t;
for(j=1;j<number;j++){
t=number%j;
if(t==0)
{s=s+j;}
}

return s;
}

int main(void)
{
int m,n,i,number;

printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++){
if(factorsum(number)==i)
{printf("%5d",i);
}
}
return 0;
}
我编译后输入1 100后没有结果,求教哪里出了问题?
展开
 我来答
IT孤鹜
2013-04-23 · TA获得超过4196个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3486万
展开全部
#include<stdio.h>
int factorsum(int number)
{
int j,s=0,t;
for(j=1;j<number;j++){
t=number%j;
if(t==0)
{s=s+j;}
}

return s; }
int main(void){
int m,n,i,number;

printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++){
if(factorsum(i)==i) //factorsum(i) 里面是i,不是number
{printf("%5d",i);
}
}
return 0;
}
koa875
2013-04-23 · TA获得超过183个赞
知道答主
回答量:39
采纳率:0%
帮助的人:50.3万
展开全部
if(factorsum(number)==i)

改为if(factorsum(i)==i)
number这个变量没有用到,可以去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式