void main()
{
int input
int i=0
int sum=0
scanf("%d",&input)
for(i=1i<inputi++)
{
if (input%i==0)
{
sum+=i
}
}
if(sum>input)
{
printf("赢数\n")
}
if(sum<input)
{
printf("亏数\n")
}
if(sum==input)
{
printf("楼主你想定义这个是什么数就是什么数\n")
}
}
你看,这个是你想要的么??
%号的优先级 比== 高把它改成if((n%i)==0)
还有scanf("%lf",&n)!=EOF,这句会出问题
scanf 返回值是 输入值的个数,EOF=-1
因为你在键盘输入EOF, 在windows下 貌似不能用键盘输入,貌似ctrl+D/Z 不行
#include<stdio.h>#include<time.h>
int sum(int n)
{int s=0,i
for(i=1i<=n/2i++)
if(n%i==0)s+=i
return s-n
}
int main ( )
{int i,a[1001]
printf("亏数:\n")
for(i=1i<1001i++)
{a[i]=sum(i)
if(a[i]<0)printf("%5d",i)
}
printf("\n盈数:\n")
for(i=1i<1001i++)
if(a[i]>0)printf("%5d",i)
printf("\n完全数:\n")
for(i=1i<1001i++)
if(!a[i])printf("%5d",i)
printf("\n花时:%.3f秒\n",clock()/1000.0)
return 0
}