求教一道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后没有结果,求教哪里出了问题? 展开
我的答案:
#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后没有结果,求教哪里出了问题? 展开
2个回答
展开全部
#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;
}
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询