C语言:计算某年某月某日是这一年的第几天

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天!
    */

希望多多支持!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39004632/article/details/84822369