#include<stdio.h>
#include<string.h>
#include<math.h>
//给你一个年份和月份,求该月有多少天
//一个年份(正整数),一个月份(1-12),中间有一个空格隔开
//该月的天数,单独占一行。
int main()
{
//思路:首先得确定是闰年还是非闰年,例如是闰年2月有29天
//1\3\5\7\8\10\12每个月31天,4、6、9、11每个月30天。
//测试时建议输入2400 2、2100 2、2012 2
int year,mouth;
scanf("%d%d",&year,&mouth);
if((year%4==0&&year%100!=0)||year%400==0)
{
if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12)
printf("31");
if(mouth==4||mouth==6||mouth==9||mouth==11)
printf("30");
if(mouth==2)
printf("29");
}
if((year%4!=0||year%100==0)&&year%400!=0)//这里用得到数电的反演律
{
if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12)
printf("31");
if(mouth==4||mouth==6||mouth==9||mouth==11)
printf("30");
if(mouth==2)
printf("28");
}
return 0;
}
如果在前面用到了
#define x 31
后面
printf("x");
结果输出这个x,而不是31,痛苦基础咩打牢。
要想输出31还是得这个
printf("%d",x);