成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

c语言计算n天后的日期

Q1:C语言对指定日期计算出N天后是什么日期

/*C语言对指定日期计算出N天后是什么日期*/
#include
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<=0month>12month<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){
printf("Error!\n");
getch();
exit(0);
}
}
if(month!=2)//当输入不是2月时,判断输入
{
if(month_date[month-1]{
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();
}

Q2:C语言如何根据日期(年月日)计算星期几?

不支持代码高亮,所以给你个截图,你照着敲一遍吧

Q3:C语言指定日期对N天后是什么日期

#include
#include
#include
int main(void)
{
time_t t = 0; int N = 0;
time(&t);
printf("现在时间是%s\n", ctime(&t));
printf("请输入要增加的天数?");
scanf("%d", &N);
t += (N * 24 * 3600); /*一天24小时,一小时3600秒*/
printf("%d天后的日期时间是%s", N, ctime(&t));
system("pause");
return 0;
}

Q4:大佬,能不能用devc++编个c语言程序,就是输入年月日,天数n,输出n天后的日期,谢谢谢谢!

123456789101112131415161718192021222324252627282930313233343536373839404142434445#include#includeintDaysInMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};intisYear(intyear){if(year%4==0(year%100!=0&&year%400==0)){DaysInMonth[1]=29;return1;}else{DaysInMonth[1]=28;return0;}}intmain(){intyear,month,day,n;printf("输入年月日(用空格间隔):");scanf("%d%d%d",&year,&month,&day);printf("输入天数n:");scanf("%d",&n);inti;for(i=1;i<=n;i++){day++;isYear(year);if(day>DaysInMonth[month-1]){day=1;month++;}if(month>12){month=1;year++;}}printf("%d%d%d",year,month,day);return0;}

猜你喜欢

更多