编写一个c语言程序,要求从键盘输入两个日期,计算这两个日期间隔的天数,例如:输入:2019,3,5 2022,1,2 输出:2019年3月5日到2022年1月2日之间间隔1050天
时间: 2023-06-03 15:05:40 浏览: 50
好的,我可以帮您解决这个问题。以下是使用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int year1, month1, day1, year2, month2, day2;
printf("请输入第一个日期(年、月、日,中间用空格隔开):\n");
scanf("%d %d %d", &year1, &month1, &day1);
printf("请输入第二个日期(年、月、日,中间用空格隔开):\n");
scanf("%d %d %d", &year2, &month2, &day2);
int days = 0;
for(int year = year1; year <= year2; year++) {
int start_month = (year == year1) ? month1 : 1;
int end_month = (year == year2) ? month2 : 12;
for(int month = start_month; month <= end_month; month++) {
int start_day = (year == year1 && month == month1) ? day1 : 1;
int end_day = (year == year2 && month == month2) ? day2 : days_in_month[month - 1];
days += end_day - start_day + 1;
}
}
printf("%d年%d月%d日到%d年%d月%d日之间间隔%d天\n", year1, month1, day1, year2, month2, day2, days);
return 0;
}
```
上述程序利用了两个日期之间每个年月的天数,分别计算出第一个日期到每年12月31日和第二个日期到每年1月1日之间的日期差,然后再加上两个日期所在年份中间的所有天数,即可得到两个日期间隔的天数。注意在判断月份和日期时,需要考虑闰年的情况。
希望我的回答能够帮到您,如果您有其他问题请随时提出。