题目:输入一个日期,计算N天之后的 年月日。 我做的是这个,但是到了1000天的时候就会差了一天 ,还找不出哪错了。。大神帮帮忙,看出错误指教一下, 如果自己写的对,也可以告诉我,不一定非要改我这个有源码直接发代码。。。谢谢拉 # include<stdio.h> main() { int year,month,day; int sum; int run=0;//判断闰年用的,平年为0,闰年为1 int daytime; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf("您好!我是数学机器人,\n我会为您计算出您的出生日期后N天的年月日!\n\n"); printf("请输出生的年份:\n"); scanf("%d",&year); printf("请输出生的月份:\n"); scanf("%d",&month); printf("请输出生的日期:\n"); scanf("%d",&day); printf("您的出生年月日为:%d年%d月%d日\n",year,month,day); if((year%400==0)||((year%4==0)&&(year%100!=0))) run=1; printf("\n请输入天数\n"); scanf("%d",&daytime); sum=daytime+day; do { if(month==2) a[month-1] +=run; if(sum>a[month-1]) { sum -=a[month-1]; month++; } if(month==13) { year++; if(((year%4==0)&&(year%100!=0))||(year%400==0)) { run=1; } else run=0; month=1; } }while(sum>a[month-1]); day=sum; printf("\n%d天之后的日期为:\n",daytime); printf("%d年%d月%d日",year,month,day); getch(); }