C编程:判断一天是该年的第几天

#include<stdio.h>

void main(void){
	int year = 2018;
	int month = 8;
	int day = 8;
	int sum = 0;


	switch(month){
	case 1: sum = 0; break;//case 1: sum = 0, break;
	case 2: sum = 31; break;
	case 3: sum = 59; break;
	case 4: sum = 90; break;
	case 5: sum = 12; 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("输入有误");
	}
	
	sum += day;

	if(year % 400 ==0 || (year % 4 ==0 && year % 100 != 0)){  //是闰年
		if(month > 2){
			sum++;
		}
	}

	printf("%d年%d月%d日是该年的第%d天\n", year, month, day, sum);
}
#include<stdio.h>

void main(void){
	int year = 2018;
	int month = 8;
	int day = 8;
	int days = 0;


	switch(month){
	case 12:days+=30;
	case 11:days+=31;
	case 10:days+=30;
	case 9:days+=31;
	case 8:days+=31;
	case 7:days+=30;
	case 6:days+=31;
	case 5:days+=30;
	case 4:days+=31;
	case 3:{
		if(year%400==0 || (year%4==0 && year%100!=0) ){
			days+=29;
		}else{
			days+=28;
		}
	}
	case 2:days+=31;
	case 1:days+=day;
	}
	printf("%d年%d月%d日是该年的第%d天\n", year, month, day, days);
}

别人家的代码:感觉思路很好,记录在此

猜你喜欢

转载自blog.csdn.net/weixin_42072280/article/details/84401330
今日推荐