C语言--根据年月计算该月天数

本文提供了一个使用C语言实现的程序,用于根据输入的年份和月份计算该月份的天数。程序包括了对不同月份天数的判断,特别是对2月的特殊处理,通过判断闰年来确定2月的天数。
部署运行你感兴趣的模型镜像

//输入年份和月份,输出该月份的天数。

#include<stdio.h>
int main()
{
int year,month,day = 31;
printf("请输入年月(YYYY-MM)");
scanf("%d-%d",&year,&month);

if(month==4||month=6||month==9||month==11){
day = 30;
}
if(month==2){
day = 28 + (year%4==0&&year%100!=0||year%400==0);
}
printf("%d年%d月有%d天",year,month,day);
return 0;
}


1、定义day变量的时候赋初值31,省去了对1、3、5、7、8、10、12月份的判断,程序精简许多。

2、printf()语句放在最后,尽最大可能性避免了printf语句的重复出现。


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

在C语言中实现输入年月并输出该天数,可以按照以下思路编写代码:首先判断输入的年份是否为闰年,因为闰年的2有29天,平年的2有28天;然后根据份输出对应的天数。 ```c #include <stdio.h> // 判断是否为闰年 int isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 获取指定年月天数 int getDaysInMonth(int year, int month) { int days[] = {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 year, month; printf("请输入年份和份(用空格分隔):"); scanf("%d %d", &year, &month); if (month < 1 || month > 12) { printf("输入份无效,请输入1到12之间的数字。\n"); return 1; } int days = getDaysInMonth(year, month); printf("%d年%d有%d天。\n", year, month, days); return 0; } ``` ### 代码解释 1. `isLeapYear` 函数:用于判断输入的年份是否为闰年。闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除。 2. `getDaysInMonth` 函数:根据输入的年份和份,返回该天数。如果是2且为闰年,则返回29天,否则根据数组 `days` 返回对应份的天数。 3. `main` 函数:首先从用户输入中读取年份和份,然后检查份是否有效。如果份无效,输出错误信息并终止程序;否则调用 `getDaysInMonth` 函数获取该天数并输出。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值