|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int i[3];
int j[3];
int f=0;
int k;
int p;
printf("请输入你的生日 (如1988-05-20)");
scanf("%d%d%d",&i[0],&i[1],&i[2]);
printf("%d%d%d\n",i[0],i[1],i[2]);
printf("\n请输入今年日期 (如2016-03-28)");
scanf("%d%d%d",&j[0],&j[1],&j[2]);
printf("%d%d%d\n",j[0],j[1],j[2]);
for(k=i[0];k<j[0];k++)
{
if((k%4==0&&k%100!=0)||k%400==0)
f+=366;
else
f+=365;
}
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (i[0] % 400 == 0 || (i[0] % 4 == 0 && i[0] % 100 != 0))
{
days[1] = 29;
}
for ( k = 0; k < i[1]; k++)
{
f-= days [k];
}
if (j[0] % 400 == 0 || (j[0] % 4 == 0 && j[0] % 100 != 0))
{
days[1] = 29;
}
for ( p= 0; p< j[1]; p++)
{
f+= days [p];
}
f-=i[2];
f+=j[2];
printf("%d\n",f) ;
return 0;
}
我知道你错在哪儿了
你输入的是
1988-05-20
2016-03-28
这样的话,按照你的scanf,读取到的年是1988和2016 ,月是-5和-3,日是-20和-28这样肯定是不对的
若你想这样输入,那么scanf需要修改
- scanf("%d-%d-%d",&i[0],&i[1],&i[2]);
复制代码
下面那个一样修改
|
|