什么错误求指正,为啥过不去,程序有什么问题

img

img


#include<stdio.h>
void solve()
{
int a,b,n,i,yinzi;
for(a=1;a<=3000;a++)
{for(i=1;i<=a/2;i++)
{ yinzi=a%i;
if(yinzi==0)
b+=yinzi;}
for(i=1,yinzi=0;i<=b/2;i++)
{
yinzi=b%i;
if(yinzi==0)
n+=yinzi;
}
if(n==a)
printf("(%d,%d)",a,b);
}
int main(void)
{
solve();
return 0;
}

main函数前少了个括号 ,应该和void的大括号匹配

img


另外第二个循环i<=a/2第一次a=1 a/2是0,不会进入循环

img

题主您上一个问题是数据类型的问题,我已经回复你了,你可以看看
本题中你应该在int main前面加一个}
因为函数体的大括号不匹配了