C语言经典100例第4例(输入某年某月某日,判断这一天是这一年的第几天)

输入某年某月某日,判断这一天是这一年的第几天

要判断这是这一年的第几天,首先要知道这是几月份,并且还要判断这是闰年还是平年,因为闰年的二月要比平年多一天,所以在计算闰年二月以上的月份要多加一天。
sum 为这是这一年的第几天
ret 如果ret = 1则这一年是闰年,如果ret = 0,则这一年是平年

#include
int main()
{
	//输入某年某月某日,判断这一天是这一年的第几天
	int year, month, day,sum,ret;
	printf("请输入年月日,格式为 2021,10,27\n");
	scanf("%d,%d,%d",&year,&month,&day);
	switch (month)
	{
    case 1:
        sum = 0; 
        break;
    case 2:
        sum = 31; 
        break;
    case 3:
        sum = 59; 
        break;
    case 4:
        sum = 90; 
        break;
    case 5:
        sum = 120; 
        break;
    case 6:
        sum = 151; 
        break;
    case 7:
        sum = 181; 
        break;
    case 8:
        sum = 212; 
        break;
    case 9:
        sum = 243; 
        break;
    case 10:
        sum = 273; 
        break;
    case 11:
        sum = 304; 
        break;
    case 12:
        sum = 334; 
        break;
    default:
        printf("data error"); 
        break;
	}
    sum = sum + day;
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)//判断是否为闰年,是ret = 1,不是ret = 0
    {
        ret = 1;
    }
    else 
    {
        ret = 0;
    }
    if (ret == 1 && month > 2)
    {
        sum = sum + 1;
    }
    printf("这是 %d 年的第 %d 天\n", year, sum);
	return 0;
}

你可能感兴趣的:(LeetCode,牛客...刷题,c语言,开发语言,后端)