C语言:计算某年某月某日是这一年的第几天
我是一名在校大学生,初次写博客,希望各位大佬不喜勿喷,这个小程序,仅供参考,希望对大家有所帮助。
分析题意:
1.判断用户输入的年数是闰年还是平年。
2.如何将不同月份的天数相加。
定义:
1.Input()函数,接收用户输入的年月日的值。
2.MonthNum()函数,根据用户输入的年,判断出2月的天数和其他月的天数。
3.Calculate()函数,将月份对应的天数相加。
#include <stdio.h>//--------------------函数声明void Input(int *year,int *month,int *day);void MonthNum(int *Value,int year);int Calculate(int *Value,int month);int main(){int year,month,day;Input(&year,&month,&day);int Value[12]={0};MonthNum(Value,year);printf("%d年%d月%d日是这一年中的第%d天!\n",year,month,day,Calculate(Value,month)+day);return 0;}//--------------------输入年月日void Input(int *year,int *month,int *day){printf("请输入您想知道的年月日:");scanf("%d %d %d",year,month,day);}//--------------------给每个月分配日期void MonthNum(int *Value,int year){for(int i=0;i<12;i++){int j=i+1;if((j%2==1 && j<8)||(j%2==0 && j>7)){Value[i]=31;}else if((j%2==1 && j>8)||(j%2==0 && j>2 && j<7)){Value[i]=30;}else if(year%4==0 && year%100!=0 || year/400==0){Value[i]=29;}else{Value[i]=28;}}}//--------------------计算日期int Calculate(int *Value,int month){int sum=0;for(int i=0;i<month-1;i++){sum=sum+Value[i];}return sum;}/*//----------样例输入----------1998 8 25//----------样例输出----------1998年8月25日是这一年中的第237天!*/
希望多多支持!