#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);
}
我测试了下,没有发现编译错误
不过有的编译器强制要求
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;
}