使用Switch从键盘分别输入年、月、日,判断这一天距离现在(2023年7月15日)是多少天(未来、过去)(默认一个月为30天)
时间: 2024-04-17 19:26:14 浏览: 129
可以使用以下的代码来实现这个功能:
```c
#include <stdio.h>
int main() {
int year, month, day;
int currentYear = 2023, currentMonth = 7, currentDay = 15;
int totalDays = 0;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 计算年份差
totalDays += (currentYear - year) * 365;
// 计算月份差
totalDays += (currentMonth - month) * 30;
// 计算日期差
totalDays += currentDay - day;
printf("距离现在是%d天\n", totalDays);
return 0;
}
```
这段代码中,我们使用了 `scanf` 函数从键盘输入年、月、日。然后,我们计算了年份差、月份差和日期差,并将它们相加得到总天数。最后,我们输出了距离现在的天数。
请注意,这段代码没有考虑闰年的情况,它默认每个月都是30天。如果需要考虑闰年,需要在计算年份差的时候进行相应的调整。
相关问题
2.使用Switch从键盘分别输入年、月、日,判断这一天距离现在(2023年7月15日)是多少天(未来、过去)(默认一个月为30天)
好的,以下是使用 switch 语句从键盘输入年、月、日,并判断与当前日期(2023年7月15日)相差多少天的代码示例:
```java
import java.time.LocalDate;
import java.util.Scanner;
public class DaysDifference {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
System.out.print("请输入日期:");
int day = scanner.nextInt();
LocalDate currentDate = LocalDate.of(2023, 7, 15);
LocalDate inputDate = LocalDate.of(year, month, day);
int daysDifference;
if (inputDate.isAfter(currentDate)) {
daysDifference = (int) currentDate.until(inputDate).getDays();
System.out.println("这一天距离现在是未来的 " + daysDifference + " 天");
} else if (inputDate.isBefore(currentDate)) {
daysDifference = (int) inputDate.until(currentDate).getDays();
System.out.println("这一天距离现在是过去的 " + daysDifference + " 天");
} else {
System.out.println("这一天就是今天!");
}
}
}
```
运行以上代码,程序会要求你输入年、月、日。然后根据输入的日期与当前日期(2023年7月15日)的比较,计算出相差的天数,并输出结果。
注意,上述代码使用了 Java 8 中的 LocalDate 类来处理日期,并且默认一个月为30天。
希望能帮到你!如果还有其他问题,请随时提问。
阅读全文