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
}