C语言输入年份和天数输出对应的年月日

Python015

C语言输入年份和天数输出对应的年月日,第1张

C语言输入年份和天数输出对应的年月日的源代码如下:

#include <iostream>

int day(int &year, int &month)

int main()

{

int year{}

int month{}

std::cout << "请输入年和月(空格隔开):"

std::cin >> year >> month

std::cout << "该月天数:" << day(year, month) << '\n'

return 0

}

扩展资料

1、C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime>头文件。

2、有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。

#include<stdio.h>

int main()

{

    int year, month, day

    int sum

    while (scanf("%d/%d/%d", &year, &month, &day) != EOF)

    {

        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

        }

        sum += day

        if (((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))

            && (month > 2))

            sum++

        printf("%d\n", sum)

    }

    return 0

}

可用YMD_2_JD()函数,参数年Y,月M,日D, 返回第几天。

例如:

#include <stdio.h>

int YMD_2_JD(int Y, int M, int D){

const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31}

int JD,i

JD=D

for (i=0i<Mi++) JD+=MonthDay[i]

if (((Y%4==0)&&(Y%100!=0)||(Y%400==0)) &&(M>2)) JD++

return JD

}

int main(){

int jd

jd=YMD_2_JD(2019,8,5)

printf("%d\n",jd)

return 0

}