首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

高手指教解决办法

2012-03-20 
高手指教# includestdio.hint main(void){int m,n,sum0int factorsum(int m)scanf(%d%d,&m,&n)whil

高手指教
# include<stdio.h>
int main(void)
{
int m,n,sum0;
int factorsum(int m);
scanf("%d%d",&m,&n);
while(m>=1&&m<=n)
{
sum0=factorsum(m);
if(m==sum0)
{
printf("%d ",m);
m++;
}
}
return 0;
}
int factorsum(int m)
{
int sum=0,i;
for(i=1;i<=m/2;i++)
{
if(m%i==0)
sum=sum+i;
}
return sum;
}/*输出m n之间因子和(例如12的因子和是1+2+3+4+6=16,但是,它不等于本身)等于本身的数*/
/*错在哪里*/

[解决办法]
scanf("%d%d",&m,&n);

改成scanf("%d %d",&m,&n);试试,没空格怎么输入啊
[解决办法]
if(m==sum0)
{
printf("%d ",m);
m++;
}

m++放在大括号的外面才行哦
[解决办法]
都是小问题。
[解决办法]

探讨
if(m==sum0)
{
printf("%d ",m);
m++;
}

m++放在大括号的外面才行哦

[解决办法]
while(m>=1&&m<=n)
改成
while(1<=m && m<=n)
更好看

热点排行