C语言蜗牛爬墙(个人练习)

题目难点

蜗牛爬墙很经典, 没听到过这个故事之前很容易踩坑, 专门坑急性子, 考虑不周全的人了 hhh

题目分析

蜗牛爬出去要几天 主要看白天的时候能不能上去, 而不是白天 - 夜晚 能不能上

主要就是这个点了

个人小细节

考虑到题目出的数值都挺小的

我觉得用short类型就可以了

short类型不能用%d接收或者输出哦

是用%hd来做接收和输出

否则你会看到全是0哦

至于为什么

请参考 C语言如何存储数据

关于C语言控制台不能显示中文的问题

我一直好奇为什么我的Clion控制台为什么不能正常显示中文

但是一直没有想要去解决他

导致我的代码提示全是英文

然而, 今天我终于解决了

(在我的电脑上是这样解决的)

首先 File Encoding全为UTF-8 没动过 不用改

C语言蜗牛爬墙(个人练习)_第1张图片

然后在右下角 的File Encoding处 (也就是UTF-8处)点击左键 切换成GBK就可以了

 C语言蜗牛爬墙(个人练习)_第2张图片

 

代码演练

#include 

int main() {

    short Well_Height;
    short Day_Up;
    short Night_Down;
    short Current_Height = 0;
    short Day = 1;

//  为了用户体验而写的代码 提升自己测试的时候的用户体验而已
    printf("Please enter : 1 Well height, 2 Daily rise height, 3 Lowering height every night\n");
    printf("x, y, z\n");
    printf("( x, y, z >= 0 )\n");
    scanf("%hd, %hd, %hd,", &Well_Height, &Day_Up, &Night_Down);
    printf("1 Well height = %hd \n", Well_Height);
    printf("2 Daily rise height = %hd\n", Day_Up);
    printf("3 Lowering height every night = %hd\n", Night_Down);

//  核心内容
    while (1){
//      白天成果
        Current_Height += Day_Up;
        printf("On the %hd day, the snail at the height of %hd.\n", Day, Current_Height);

//      判断能不能出去
        if (Current_Height >= Well_Height){
            printf("On the %hd day, the snail successfully arrived at the destination.\n", Day);
            break;
        }

//      晚上休息
        Current_Height -= Night_Down;
        Day ++;
    }

    return 0;
}

你可能感兴趣的:(c语言,算法)