2022年5月5日,第28天

2022年5月5日,第28天

【学习时长】

今日3.5h。累计126.5h。

【代码数量】

今日0行。累计2480行。

【学习内容】

今天学习的内容是面向对象编程中的类和对象。

【遇到的问题】

无。

【今日解决的问题】

无。

【学习计划】

1、近期计划

JavaScript网页编程部分的视频教程时长63小时。计划用14天时间看完,另外再用4天来完成相应的案例,总共用时18天学完这一部分内容,即要在5月8日当天结束。(今日进度:已学完面向对象编程中类和对象部分的内容。)

【其他】

我觉得这套前端视频教程还是不错的,课能够讲得跟视频中的这位老师这样就相当不错了。但是,在有些问题上老师只讲了要怎么做,而没有讲为什么要这么做。比如,子类在构造函数中使用super, 必须放到 this 前面,就没有讲这么做的原因,没有讲透。我觉得这位老师是站“森林”里面为学生讲解这片“森林”,而没有跳出这片“森林”,以俯瞰“森林”的角度来讲解这片“森林”。能够做到俯瞰“森林”的人应该很少,绝大部分人都是“身在此山中”。

今天学的是面向对象编程中的类和对象。有些内容在看第一遍的时候绕着绕着就找不着北了,好在看第二遍的时候基本上弄明白了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!很高兴能和您聊。 对于您的问题,可以使用 C 语言中的 time.h 库来计算两个期间隔的数。具体程序如下: ```c #include <stdio.h> #include <time.h> int main() { int year1, month1, day1; int year2, month2, day2; int days; printf("请输入第一个期(格式: ):\n"); scanf("%d %d %d", &year1, &month1, &day1); printf("请输入第二个期(格式: ):\n"); scanf("%d %d %d", &year2, &month2, &day2); time_t t1 = mktime(&((struct tm) { .tm_year = year1 - 1900, .tm_mon = month1 - 1, .tm_mday = day1 })); time_t t2 = mktime(&((struct tm) { .tm_year = year2 - 1900, .tm_mon = month2 - 1, .tm_mday = day2 })); days = (int) difftime(t2, t1) / (60 * 60 * 24); printf("%d%d%d到%d%d%d之间间隔%d\n", year1, month1, day1, year2, month2, day2, days); return 0; } ``` 您可以将该程序保存为一个 .c 文件,然后使用 C 语言编译器进行编译和运行。 如果您还有其他问题,欢迎随时提出! ### 回答2: 以下是一个可以实现上述功能的C语言程序: ```c #include <stdio.h> int isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; } int daysInMonth(int month, int year) { int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month == 2 && isLeapYear(year)) { return 29; } return days[month - 1]; } int main() { int year1, month1, day1; int year2, month2, day2; printf("请输入第一个期(,空格分隔):"); scanf("%d %d %d", &year1, &month1, &day1); printf("请输入第二个期(,空格分隔):"); scanf("%d %d %d", &year2, &month2, &day2); int days = 0; for (int i = year1; i < year2; i++) { int daysPerYear = isLeapYear(i) ? 366 : 365; days += daysPerYear; } for (int i = 1; i < month2; i++) { days += daysInMonth(i, year2); } days += day2; for (int i = 1; i < month1; i++) { days -= daysInMonth(i, year1); } days -= day1; printf("%d%d%d到%d%d%d之间间隔%d。\n", year1, month1, day1, year2, month2, day2, days); return 0; } ``` 运行程序后,按照提示输入两个期(,空格分隔),程序将输出这两个期之间的数间隔。例如,输入 "2019 3 5" 和 "2022 1 2",输出为 "201935202212之间间隔1050"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值