导航:首页 > 源码编译 > 怎么分辨瑞年和平年的C语言编译

怎么分辨瑞年和平年的C语言编译

发布时间:2025-09-09 17:10:23

① 求C语言程序,我输入日期(年月日),然后输入前后加减多少天,得出那个日期是多少

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int year,month,day;
int leapyear=0;//闰年时使用
int daytime=0;
int sum;
static int month_date[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入日期:(例如:2010 5 27)");
scanf("%d%d%d",&year,&month,&day);
if(year<=0||month>12||month<1)//判断输入是否正确
{
printf("Error!\n");
getch();
exit(0);
}
if(year%400==0||(year%4==0&&year%100!=0))//判断是否为闰年
leapyear=1;//是就加1
if(month==2)//判断日是否输入正确,2月是特殊的因为分闰年和平年
{ if((month_date[month-1]+leapyear)<day||day<=0)
{
printf("Error!\n");
getch();
exit(0);
}
}
if(month!=2)//当输入不是2月时,判断输入
{
if(month_date[month-1]<day||day<=0)
{
printf("Error!\n");
getch();
exit(0);
}
}
printf("\n请输入天数:");
scanf("%d",&daytime);//输入第N天后
if(daytime<0)
{
printf("Error!\n");
getch();
exit(0);
}
sum=daytime+day;//当前日期与N天相加
do
{
if(month==2)//判断当月是不是二月份
month_date[month-1]+=leapyear;
if(sum>month_date[month-1])
{
sum-=month_date[month-1];
month++;//超过当月天数,加一个月
if(month==13)//当月份超过12月时,重新返到1月
{
year++;//加一年
if(year%400==0||(year%4==0&&year%100!=0))//判断加一年后是不是闰年
leapyear=1;
else
leapyear=0;//不是闰年则为0
month=1;//因为12月的下一个月是1月
}
}
}while(sum>month_date[month-1]);//当加起来的天数少于当月的天数就停止循环
day=sum;
printf("\n第%d天后是%d %d %d",daytime,year,month,day);//输出
getch();
}

阅读全文

与怎么分辨瑞年和平年的C语言编译相关的资料

热点内容
红警3怎么命令 浏览:205
服务器里面的域有什么用 浏览:610
curlphpcookies 浏览:101
三个月学懂中医pdf 浏览:753
实时发送邮件python 浏览:264
php数组删除重复元素 浏览:565
程序员遇到一个无聊的人 浏览:59
dh136c25b压缩机 浏览:137
程序员职业外部威胁 浏览:897
小米手机点系统工具文件夹就卡 浏览:421
app推广暗扣是什么意思 浏览:926
php多个分页 浏览:109
隐藏我的电脑里的六个文件夹 浏览:495
温州保税仓发货有溯源码吗 浏览:49
收获app企业ID是什么 浏览:995
光控台灯单片机 浏览:285
文档不能加密的原因 浏览:155
程序员系列大全 浏览:360
安卓怎么用文件升级 浏览:667
如何发展mc服务器 浏览:169