练习7-9 计算天数 (15 分)

练习7-9 计算天数 (15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:

2009/03/02

输出样例1:

61

输入样例2:

2000/03/02

输出样例2:

62
#include<stdio.h>

int main(){
    int y,m,d;
    scanf("%d/%d/%d",&y,&m,&d);
    int day=d;
    for(int i=1;i<m;i++){
        switch(i){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                day = day+31;
                break;
            case 2:
                day = day + 28;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                day = day + 30;
                break;
        }
    }
    //if(m>1)
    if((y%4==0&&y%100!=0&&m>1)||(y%400==0&&m>1))day=day+1;
    printf("%d\n",day);
    return 0;
}
### 回答1: 好的,以下是练习-java多路支之月份天数计算的回复: 这个练习是要求我们编写一个Java程序,根据用户输入的月份,计算出该月份有多少天。我们可以使用多路支语句(if-else或switch-case)来实现这个功能。具体实现方法可以参考以下代码: ``` import java.util.Scanner; public class MonthDays { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入月份:"); int month = input.nextInt(); int days = ; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: System.out.print("请输入年份:"); int year = input.nextInt(); if ((year % 4 == && year % 100 != ) || year % 400 == ) { days = 29; } else { days = 28; } break; default: System.out.println("输入的月份不正确!"); break; } if (days != ) { System.out.println(month + "月份有" + days + "天。"); } } } ``` 以上代码中,我们首先使用Scanner类获取用户输入的月份,然后使用switch-case语句根据月份计算出该月份有多少天。在计算2月份天数时,我们还需要根据用户输入的年份来判断是否为闰年。最后,我们输出计算结果,如果用户输入的月份不正确,则输出提示信息。 希望这个回复能够帮助到您,如果还有其他问题,请随时联系我。 ### 回答2: Java多路支是Java编程中的一个重要部,它通常用于判断某个条件或变量的值,然后执行相应的操作。在本文中,我们将介绍如何使用Java多路支计算每个月的天数。 Java多路支的基本语法是:if (条件) {执行语句块1} else if (条件2) {执行语句块2} else {执行语句块3}。使用这种语法,我们可以根据条件执行不同的操作。 对于月份天数计算,我们需要知道每个月的天数。通常,1月、3月、5月、7月、8月、10月和12月都有31天;4月、6月、9月和11月都有30天;2月有28或29天,具体取决于是否为闰年。 我们可以使用Java多路支来计算每个月的天数。我们可以使用一个int变量来表示月份,并根据1到12的不同值别执行操作。我们可以使用一个switch语句来实现这个过程。 具体实现方法如下: 1. 定义一个int变量表示月份,例如int month = 5; 2. 使用switch语句根据月份计算天数,例如: switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("该月共有31天"); break; case 4: case 6: case 9: case 11: System.out.println("该月共有30天"); break; case 2: System.out.println("输入年份:"); Scanner sc = new Scanner(System.in); int year = sc.nextInt(); if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { System.out.println("该月共有29天"); } else { System.out.println("该月共有28天"); } break; default: System.out.println("输入月份不合法"); break; } 在上述代码中,我们首先使用switch语句根据月份进行判断,然后根据不同的月份计算出天数。对于2月份,我们需要使用Scanner类来获取用户输入的年份,然后判断是否为闰年,从而计算出2月的天数。 在实际编写Java代码时,我们需要注意一些细节。例如,在使用Scanner类时,我们需要先导入java.util.Scanner类;在使用switch语句时,我们需要添加break语句来跳出当前的case块。 总之,练习Java多路支之月份天数计算是一项基础而重要的练习。熟练掌握Java多路支的使用方法,可以使我们更加高效地编写Java程序。 ### 回答3: 月份天数计算是Java多路支的一个经典练习,通过这个练习可以加深对Java多路支语句的理解。下面我将介绍Java多路支语句的概念以及如何实现月份天数计算。 Java多路支语句 Java多路支语句指的是在程序执行时,需要根据不同的条件执行不同的程序段的语句。Java中多路支语句有两种:switch语句和if-else语句。switch语句比if-else语句更清晰简洁,特别是当条件支比较多时。switch语句的一般形式如下: ``` switch (expression) { case value1: // 语句块1 break; case value2: // 语句块2 break; case value3: // 语句块3 break; default: // 默认的语句块 break; } ``` 多路支语句的实现原理是,程序先计算表达式的值,然后根据表达式的值跳转到指定的语句块。如果表达式的值与任何一个case的值相同,则执行相应的语句块,如果没有相同的值,则执行默认的语句块。 月份天数计算 对于月份天数计算,我们需要根据输入的月份判断该月份有多少天。一年中月份的天数有两种情况:30天或31天,二月份则为28天或29天。因此,我们需要设计一个程序来判断输入月份具体是多少天。 下面是用Java多路支实现月份天数计算的代码: ``` import java.util.Scanner; public class MonthDays { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入月份:"); int month = input.nextInt(); int days = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: System.out.print("请输入年份:"); int year = input.nextInt(); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { days = 29; } else { days = 28; } break; default: System.out.print("月份输入错误!"); } if (days != 0) { System.out.println(month + "月份有" + days + "天!"); } } } ``` 上述代码中,我们使用switch语句来判断月份的天数,如果月份在1、3、5、7、8、10、12这七个月中,那么该月份有31天,如果在4、6、9、11这四个月中,那么该月份有30天。对于2月份来说,需要再输入年份,然后根据闰年和平年计算出该月份的天数。如果输入的不是1-12的整数,则提示月份输入错误。 总结 通过这个练习,我们不仅加深了对Java多路支语句的理解,还学习了如何根据特定条件计算天数。在实际工作中,多路支语句也常常用于判断不同的条件,进而执行不同的程序段,它在控制程序流程、提高代码的可读性上有很大的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LITA.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值