输入年份月份,输出该月天数

此篇博客展示了如何使用Java编写一个程序,通过用户输入的年份和月份,判断是阳历还是农历,并输出相应月份的天数。特别关注了闰年的规则和2月天数的计算。
摘要由CSDN通过智能技术生成
/**
 * 输入年份月份,输出该月份天数
 */
import java.util.Scanner;

public class Test1 {
    public static void main(String args[]) {
        for(int i=1;i<i+1;i++)
        {    
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入年份");
        int sc1=sc.nextInt();
        System.out.println("请输入月份");
        int sc2=sc.nextInt();
        switch(sc2)
        {
        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:{
            if ((sc1%400==0) || (sc1%4==0) && (sc1%100!=0))
            {
                System.out.print("29days");
            }
            else
            {
                System.out.print("28days");
            }
            
            break;
        }
        default:System.out.print("the month isn't exised");
        }
        }
    }

}

在C++中,你可以通过库函数`mktime()`或直接使用`<ctime>`头文件里的`strftime()`和`strptime()`函数来获取指定月份天数。这里是一个简单的示例,利用`strftime()`函数获取每个天数: ```cpp #include <iostream> #include <ctime> int main() { std::string date_string = "01"; // 代表1,也可以换成其他数字,如"07"表示7 const char* format = "%m"; time_t t; struct tm tmstruct; // 将字符串转换成时间结构体 if (std::sscanf(date_string.c_str(), "%d", &tmstruct.tm_mon) == 1) { // 注意:tm_mon从0开始计数,需要减1对应实际月份 tmstruct.tm_year = 1900; // 设置基准年 tmstruct.tm_mday = 1; // 初第一天 tmstruct.tm_hour = 0; tmstruct.tm_min = 0; tmstruct.tm_sec = 0; tmstruct.tm_isdst = -1; // 如果不确定夏令时,设置为-1 t = mktime(&tmstruct); if (t != -1) { // 使用strftime()获取天数 char buffer[10]; strftime(buffer, sizeof(buffer), "%td", &tmstruct); int days_in_month; std::istringstream iss(buffer); iss >> days_in_month; std::cout << "该天数为:" << days_in_month << std::endl; } else { std::cerr << "无法解析日期." << std::endl; } } else { std::cerr << "输入的不是有效的月份." << std::endl; } return 0; } ``` 这个程序首先将输入月份字符串转换为`tm_mon`成员,然后构造一个时间结构体,并使用`mktime()`将其转换为时间戳。接着,使用`strftime()`格式化输出结果,其中包含天数信息。 注意,这个例子假设了输入的是正确的月份格式,如果需要处理更复杂的用户输入或者异常情况,你需要添加额外的错误检查和处理代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值