以下代码错在哪
编写判断一个正整数是否“完数”的子数fn,“完数”指的是该数的各因子之和是它自身的整数,如6的因子是1、2、3,而6=1+2+3,故6是完数。编写主函数调用子函数fn求出x~y的所有“完数”,x,y的值由键盘输入。
#include <stdio.h>
int main()
{
int fn(int x);
int x,y;
printf("input two numbers: ");
scanf("%d,%d",&x,&y);
for(;x<=y;x++)
{
if(x==fn(x))
printf("%5d",x);
}
return 0;
}
int fn(int x)
{
int i,sum=0;
for(i=1;i<x;i++)
{
if(x%i==0)
sum=sum+i;
}
return sum;
} 为什么要说它是错的?这个代码在我这里完全正常,没有任何问题。 好像没什么错吧…… jackz007 发表于 2020-11-25 17:48
为什么要说它是错的?这个代码在我这里完全正常,没有任何问题。
但是devc运行时没有出现结果啊 Accelerator01 发表于 2020-11-26 09:13
但是devc运行时没有出现结果啊
两个输入的数之间要有逗号分隔,两个数的差别要足够大,比如,输入 3 , 10000 试试。 jackz007 发表于 2020-11-26 09:41
两个输入的数之间要有逗号分隔,两个数的差别要足够大,比如,输入 3 , 10000 试试。
我知道错哪了 我输入时分隔数字的逗号用的中文的{:10_266:} jackz007 发表于 2020-11-26 09:41
两个输入的数之间要有逗号分隔,两个数的差别要足够大,比如,输入 3 , 10000 试试。
谢了谢了 问题解决了
页:
[1]