不记当年


私信TA

用户名:1172412817

访问量:3273

签 名:

文科小白瑟瑟发抖

等  级
排  名 2617
经  验 2144
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

有没有老司机带带我

解题思路:这里选择的是几组数据一起输入,再一起输出。

参考代码:

#include <stdio.h>
int main()
{
    double m[100],n[100],a,b;
    int i = 0,j = 0,total,count,max;
    while(~scanf("%lf%lf",&m[i],&n[i]))    //~scanf()和scanf() != EOF作用相同
    {
        i++;
    }
    total = i;                            //统计总共输入了几组数据
    for(i = 0;i < total;i++)
    {
        if(m[i] < n[i])                   //比较大小
        {
            a = m[i];
            b = n[i];
        }
        else
        {
            a = n[i];
            b = m[i];
        }
        max = 0;
        for(;a <= b;a++)
        {
            count = 1;                /*记录循环次数,由于后面排除了'1',但'1'需要计数进来, 
            j = a;                      所以这里是1而不是0*/
            while(j != 1)
            {
                if(j % 2 == 0)
                {
                    j /= 2;
                    count++;
                }
                else
                {
                    j = j * 3 + 1;
                    count++;
                }
            }
            if(max < count)
            {
                max = count;
            }
        }
        printf("%.0lf %.0lf %d\n",m[i],n[i],max);
    }
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

居然double
笑喷
你很有灵气,但基础太差
2019-07-01 09:23:19
  • «
  • 1
  • »