local function definitions are illegal

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:17:52
#include "stdio.h"
int main( )
{
int ri,repeat;
int d, m, n, i, number;
long factorsum(int number);

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);

for(i=m;i<=n;i++)
{

if(factorsum(i)==i)
printf("%d",d);

printf("\n");
}
return 0;
}
long factorsum(int number)
{
long int j,s=0;

for(j=1;j<=i/2;j++)
{
if(i%j==0)
{
s=s+j;
}

return s;

}
}
}

不知道哪儿错了 请帮忙指出 谢谢~

#include <stdio.h>
int factorsum(int number);
int main( )
{
int ri,repeat;
int m, n, i;

printf("input repeat:");
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++)
{
printf("input m:");
scanf("%d",&m);
printf("input n:");
scanf("%d",&n);

for(i=m;i<=n;i++)
{
if(factorsum(i)==i)
printf("%d",i);
}
printf("\n");
}
return 0;
}
int factorsum(int number)
{
int j,s=0;
for(j=1;j<=number/2;j++)
{
if(number%j==0)
{
s=s+j;
}
}
return s;
}
试试这个吧,你原来的错得太多了……先是少了n个“}”,最后又多了个“}”,变量d用混了;函数factorsum声明的位置也不对,local function definitions are illegal就是指的这个问题