题目难点
蜗牛爬墙很经典, 没听到过这个故事之前很容易踩坑, 专门坑急性子, 考虑不周全的人了 hhh
题目分析
蜗牛爬出去要几天 主要看白天的时候能不能上去, 而不是白天 - 夜晚 能不能上
主要就是这个点了
个人小细节
考虑到题目出的数值都挺小的
我觉得用short类型就可以了
short类型不能用%d接收或者输出哦
是用%hd来做接收和输出
否则你会看到全是0哦
至于为什么
请参考 C语言如何存储数据
关于C语言控制台不能显示中文的问题
我一直好奇为什么我的Clion控制台为什么不能正常显示中文
但是一直没有想要去解决他
导致我的代码提示全是英文
然而, 今天我终于解决了
(在我的电脑上是这样解决的)
首先 File Encoding全为UTF-8 没动过 不用改
然后在右下角 的File Encoding处 (也就是UTF-8处)点击左键 切换成GBK就可以了
代码演练
#include <stdio.h>
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;
}