当前位置:首页>维修大全>综合>

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么(c语言switch语句算某年某月的天数)

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么(c语言switch语句算某年某月的天数)

更新时间:2024-06-05 10:48:00

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么

#include <stdio.h>

//返回指定年月日是对应年度的第几天

int getDays(int month,int day);

int isRunnian(int year);

int main(int argc,char* argv[])

{

int year=0;

int month=0;

int day=0;

printf("请输入年月日格式示例20140101 ");

scanf("%4d%2d%2d",&year,&month,&day);

//简化后的条件,是闰年且月份大于二,则返回天数加一,否则直接返回函数值

int days = getDays(month,day);

if (days==0){

printf("您输入的日期格式无效。 ");

return 0;

}

if (isRunnian(year) && month >2){

printf("输入日期是对应年份的第%d天",days+1);

}else{

printf("输入日期是对应年份的第%d天",days);

}

return 0;

}

//循环实现

int getDays(int month,int day){

int NUMBER[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int result=day;

if (month >12){ //避免出现数组越界情况

return 0;

}

for (int i=0;i< month-1;i++){//数组下标是从零开始

result+= NUMBER[i];

}

return result;

}

int isRunnian(int year){

//闰年的条件

//一:年度是400的整数倍,则是闰年

//二:年度能被4整除且不能被100整除

return year%4 ==0 && year%100 !=0 || year%400 ==0;

}

更多栏目