shigella520 2015-07-18 17:33 采纳率: 0%
浏览 1609

刚学c语言出了小问题。。大神棒棒看 谢谢

一个计算日期距离的玩意

#include
int sr();
int main()
{
printf("请输入起始年月日(以回车间隔)\n");
int memories;
int year = sr();
int month = sr();
int day = sr();
printf("请输入当前年月日(以回车间隔)\n");
int thisyear = sr();
int thismonth = sr();
int thisday = sr();

//开始年日数
if((year%4==0&&year%100!=0)||(year%400==0))
{
switch(month)
{
case 1:memories = day;
case 2:memories += 31;
case 3:memories += 29;
case 4:memories += 31;
case 5:memories += 30;
case 6:memories += 31;
case 7:memories += 30;
case 8:memories += 31;
case 9:memories += 31;
case 10:memories += 30;
case 11:memories += 31;
case 12:memories += 30;break;
}
memories = 366-memories;
printf("%s\n",memories);
}
else
{
switch(month)
{
case 1:memories = day;
case 2:memories += 31;
case 3:memories += 28;
case 4:memories += 31;
case 5:memories += 30;
case 6:memories += 31;
case 7:memories += 30;
case 8:memories += 31;
case 9:memories += 31;
case 10:memories += 30;
case 11:memories += 31;
case 12:memories += 30;break;
}
memories = 365-memories;
}

//结束年日数
if((thisyear%4==0&&thisyear%100!=0)||(thisyear%400==0))
{
switch(thismonth)
{
case 1:memories = thisday;
case 2:memories += 31;
case 3:memories += 29;
case 4:memories += 31;
case 5:memories += 30;
case 6:memories += 31;
case 7:memories += 30;
case 8:memories += 31;
case 9:memories += 31;
case 10:memories += 30;
case 11:memories += 31;
case 12:memories += 30;break;
}
}
else
{
switch(thismonth)
{
case 1:memories = thisday;
case 2:memories += 31;
case 3:memories += 28;
case 4:memories += 31;
case 5:memories += 30;
case 6:memories += 31;
case 7:memories += 30;
case 8:memories += 31;
case 9:memories += 31;
case 10:memories += 30;
case 11:memories += 31;
case 12:memories += 30;break;
}
}
//中间年日数
for(int i=year+1; i+1<thisyear;i++)
{
if((i%4==0&&i%100!=0)||(i%400==0))
{
memories+=366;
}
else
{
memories+=366;
}
}

printf("%s\n",memories);
return 0;

}

int sr()
{
int num;
scanf("%d",&num);
return num;
}

  • 写回答

8条回答 默认 最新

  • danielinbiti 2015-07-18 17:36
    关注
     if((i%4==0&&i%100!=0)||(i%400==0))
    {
    memories+=366;
    }
    else
    {
    memories+=366;//这里应该是365,非润年
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法