永发信息网

C语言 验证3n+1问题

答案:4  悬赏:50  手机版
解决时间 2021-11-17 16:52
  • 提问者网友:人傍凄凉立暮秋
  • 2021-11-17 04:07
C语言 验证3n+1问题
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-11-17 05:45
#include
int main(void)
{
int i, j = 0, b;
int x, a;
while (scanf("%d", &x) == 1)
{
if (x <= 0) {
j++;
printf("Case %d: %d, -1
", j, x);
continue;
}
a = x;
i = 0;
b = x;
while (b > 1)
{
if (b % 2 == 0)
b = b / 2;
else
b = 3 * b + 1;
i++;
}
j++;
printf("Case %d: %d, %d
", j, a, i);
}
}追问谢谢追答如果没有其他问题就采纳一下吧
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-11-17 06:29
#include
int main(void)
{
    int i,j=0,b;               //j使用前要先初始化
    double x,a;
    while(scanf("%lf",&x))              //首先你定义的x是double型的,这边输入要%lf
    {
        if(x>0){
            a=x;
            i=0;
            b=x;
            while(b>1)
            {
                if(b%2==0)
                    b=b/2;
                else
                    b=3*b+1;
                i++;
            }
            j++;
            printf("Case %d: %.lf, %d ",j,a,i);              //i是int型的,输出时%d,不是%lf,输出一行后记得换行
        }
        if(b<=0){
            j++;
            printf("Case %d: %.lf, 0",j,b);
        }
    }
}追问太有用了 改完就编译成功了 谢谢追答编译成功就采纳吧
  • 2楼网友:枭雄戏美人
  • 2021-11-17 06:09
我给做了,,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯