自己学习C语言的点滴
自己在22年6月13号接触到极客时间的学习音频后,自己尝试着去编写胡光老师布置的时间计算器代码后,
马上就可以自己做出来了,非常高兴的,有兴趣的可以去极客时间来一起打卡学习啊!!!
以下代码是在windows7平台下使用codeblocks 软件进行编译和运行的,有需要学习的朋友可以私信我来一起学习的。
#include <stdio.h>
int main()
{
int y, m, d, X ,i; // 定义存储 年月日 和 X 的变量
scanf("%d%d%d", &y, &m, &d); // 读入年月日
scanf("%d", &X); // 读入 X 值
for (i = 0; i < X; i++) //将for()内部int i修改为i =0,修改后才可以编译成功的。//i代表循环的次数
{ // 循环 X 次,每次向后推一天
d += 1;
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10: //第1部分的逻辑是处理每月有31天的月份1357810
{ // 第一部分逻辑
if (d > 31) d = 1, m += 1; //modify d>=31
}; break;
case 12://第2部分的逻辑是12月,也是有31天的月份
{ // 第一部分逻辑
if (d > 31) d = 1, m += 1;
if (m == 13) m = 1, y += 1;
}; break;
case 4:
case 6: //第2部分的逻辑是处理每月有30天的月份46911
case 9:
case 11:
{ // 第二部分逻辑
if (d > 30) d = 1, m += 1;
} break;
case 2: //第3部分的逻辑是处理2月这个月份的逻辑
{ // 第三部分逻辑
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
if (d > 29) d = 1, m += 1; //modify d>=29
} else if (d >= 28) //modify d>=29 2022.06.13 by jerry0
{
d = 1, m += 1;
}
} break;
}
}
printf("%d %d %d\n", y, m, d);
return 0;
}
// 2022.06.13 23:04 write by austin