(C语言)小甜甜的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)。

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:50:24
输入格式:
从文件的第一行分别读入YY,MM,DD其中1949<=YY<=2002,日期绝对合法。

输出格式:
输出文件只有一行,即小甜甜生日第一万天以后的日期,格式为 “YY-MM-DD”。

输入格式:
从文件的第一行分别读入YY,MM,DD其中1949<=YY<=2002,日期绝对合法。

main()
{int y,m,d,x,a,b,c
/*Y,M,D为年月日,X为X天纪念日(如10000天纪念日就在输入Y,M,D后输入,10000)a,b,c为内用变量*/
scanf("%d,%d,%d,%d"&y,&m,&d,&x);
a=x/365;
b=(x%365)/30;
c=((x%365)%30);
d=d+c;
if(d>30)
{d=d%30;m=m+d/30;}
m=m+b;
if(m>12)
{m=m%12;y=y+m/12;}
y=y+a;
printf("%d-%d-%d,"y,m,d);
}
输入格式为
y,m,d,x

我好长时间不用C了,语法上可能有点错误,但逻辑应该是对的 ~ (没计算平年与2月和一个月31天的天数差,可能有误差)自己再改改吧 `~

#include "stdio.h"
int leap(int &year)
{
return(year%4==0&&year%100!=0||year%400==0);
}
void put(int &year,int &month,int &day)
{

if(leap(year))
{

if(month==2&&day==29)
{

month=month+1;
day=1;

}
else if((month==3&&day==31)||(month==5&&day==31)||(month==7&&day==31)||(month==8&&day==31)||(month==10&&day==31)||(month==1&&day==31))
{
month=mo