当前位置:   article > 正文

日期推算器_请下载日期推算器程序(st.emma.daydiff),完成下列任务: 1) 请对程序中的两个 ja

请下载日期推算器程序(st.emma.daydiff),完成下列任务: 1) 请对程序中的两个 java

使用方法:

输入三个整数用空格隔开,分别表示年月日

再输入要推算的天数

得到答案

如:输入 1997 10 18 7823

       输出 2019 3 20

代码如下:

  1. #include<stdio.h>
  2. int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  3. int check(int y)
  4. {
  5. if((y%4==0&&y%100!=0)||(y%400==0)) return 1;
  6. else return 0;
  7. }
  8. int main()
  9. {
  10. int year,month,day;
  11. scanf("%d%d%d",&year,&month,&day);
  12. int y=year,m=month,d=day,sum;
  13. scanf("%d",&sum);
  14. sum+=(d-1);//将日归为1号,天数加到总天数去方便年和月的进位计算
  15. d=1;
  16. //printf("sum===%d\n",sum);
  17. while(sum>=366)
  18. {
  19. if(check(y)) sum-=366;
  20. else sum-=365;
  21. y++;//sum减完之后再加
  22. //printf("sum========%d y========%d\n",sum,y);
  23. }
  24. //printf("y===%d\n",y);
  25. //printf("sum===%d\n",sum);
  26. for(int i=month;i<=12;i++)
  27. {
  28. if(sum<a[i]) break;
  29. sum-=a[i];
  30. if(i==2&&check(y)) sum--;//闰年二月份多减一天
  31. //printf("%d 月减了%d sum=============%d\n",i,a[i],sum);
  32. if(i==12)
  33. {
  34. y++;
  35. i=0;
  36. }
  37. m=i+1;
  38. }
  39. if(sum>0) d+=sum;//如果剩下没有天数则d就是初始值1
  40. printf("year===%d\n",y);
  41. printf("month===%d\n",m);
  42. printf("day===%d\n",d);
  43. return 0;
  44. }

如有错误请在评论指出。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/471320
推荐阅读
相关标签
  

闽ICP备14008679号