|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阿撩 于 2016-12-13 21:45 编辑
- #include <stdio.h>
- long sum(int y,int m,int d)
- {
- int x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
- long i,s=0;
- for(i=1;i<y;i++)
- {
- if(i%4==0&&i%100!=0||i%400==0)
- {
- s+=366;
- }
- else s+=365;
- }
- for(i=1;i<m;i++)
- {
- s+=x[i];
- }
- s+=d;
- return s;
- }
- void main()
- {
- int y1,m1,d1,y2,m2,d2;
- long s1,s2;
- printf("输入年 月 日:");
- scanf("%d%d%d",&y1,&m1,&d1);
- printf("输入年 月 日:");
- scanf("%d%d%d",&y2,&m2,&d2);
- s1=sum(y1,m1,d1);
- s2=sum(y2,m2,d2);
- printf("相差天数:%ld\n",s2-s1);
- }
复制代码
求问这个程序哪里出问题了呢?
输入:2010 10 26
输入:2016 12 13
程序运行出来如图:是2239天
但是我自己手算了一下发现是2040天
求问这是怎么回事? |
|