出现了编译错误 .求解

#include
int jo(int a)
{
if(a%2==0)
return 1;
else
return 0;
}
void main()
{
int x,i;
scanf("%d",&x);
for(i=0;i<10000;i++)
{
if(x==1)
break;
else
{
if(jo(x)==1)
x=x/2;
if(jo(x)==0)
x=(3*x+1)/2;
}
}
printf("%d",i);

}

c++

2个回答

我测试了下,没有发现编译错误
不过有的编译器强制要求
int main()
而不是void main()

还有开头

#include <stdio.h>

1)最开头应该是# include
2)不应该是void main()而应该是int main()
3)在结尾处printf后面加一个return 0;

PS:反正我这样改完之后,就编译通过了

改完后代码:

#include<cstdio>
int jo(int a)
{
if(a%2==0)
return 1;
else
return 0;
}
int main()
{
int x,i;
scanf("%d",&x);
for(i=0;i<10000;i++)
{
if(x==1)
break;
else
{
if(jo(x)==1)
x=x/2;
if(jo(x)==0)
x=(3*x+1)/2;
}
}
printf("%d",i);
return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问