提示:如果年份能被400整除,则它是闰年;如果能被4整除,而不能被100整除,则也是闰年,否则不是闰年。
输入格式: 输入任意符合范围(1月12月)的月份和(1900年9999年)年份,且两个值之间空格分隔。
输入样例:2000 2
输出样例:
year = 2014 month = 8 days=31
就是用if else 来判断
月份是 4 6 9 11月的是30天
月份是 2月的再判断不是闰年, 是闰年2月是29天 不是闰年2月是28天
其它月份的是31天
你题目的解答代码如下:
#include <stdio.h>
int main()
{
int year, month, days;
scanf("%d%d", &year, &month);
if (month == 4 || month == 6 || month == 9 || month == 11)
days = 30;
else if (month == 2)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days = 29;
else
days = 28;
}
else
days = 31;
printf("year = %d month = %d days = %d", year, month, days);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
定义一个数组,长度12,为每个月天数。根据年份判断闰年否,是闰年的话2月有29天。然后用月份作为下标取得该月天数
#include <stdio.h>
int main()
{
int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int year,month;
scanf("%d%d",&year,&month);
if(month ! = 2)
printf("year = %d month = %d days=%d",year,month,m[month]);
else if((year %400 == 0 ) || (year%4==0 && year & 100 != 0)
printf("year = %d month = %d days = %d",year,month,29);
else
printf("year = %d month = %d days = %d",year,month,28);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!