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);
}
}追问谢谢追答如果没有其他问题就采纳一下吧
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);
}
}
}追问太有用了 改完就编译成功了 谢谢追答编译成功就采纳吧
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
我给做了,,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯