lvyouzi 2016-04-16 06:47 采纳率: 0%
浏览 3457

求帮助!任意一个年月日,求公元1年1月1日到该日期前一年末总共多少天?

本人C语言初学者,学找些题做,见到这个题编了如下代码,不知道正确的该如何编,求高手帮助!!!

输入任意一个年,月,日,求出公元1年1月1日到该日期前一年的年末总共有多少天?到该日期前一个月的月末总共有多少天,到这一天共有多少天?并求出这一天是星期几?
#include
main()
{
int a,b,c,d,e,s,w,y1,y2,y3,year;
printf("请输入任意年、月、日(以空格隔开)\n");
scanf("%d%d%d",&a,&b,&c);
if((year%4==0 && year%100==0) || year%400==0)
{
s=a-1;
y1=s/4;
y2=s/100;
y3=s/400;
w=(s-y1+y2-y3)*365+(y1-y2+y3)*366+1;
if(b==1)
{c=31;

e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==2)
{c=28;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==3)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==4)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==5)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==6)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==7)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==8)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==9)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==10)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==11)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==12)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }

  }
  else 

{
s=a-1;
y1=s/4;
y2=s/100;
y3=s/400;
w=(s-y1+y2-y3)*365+(y1-y2+y3)*366+1;
printf("请输入月份:");
scanf("%d",&b);
if(b==1)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==2)
{c=29;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==3)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==4)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==5)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==6)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==7)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==8)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==9)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==10)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==11)
{c=31;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }
if(b==12)
{c=30;
printf("请输入日期:");
scanf("%d",&c);
e=w+b+c;
printf("俩年份之间差%d天",&e); }

      }

}

  • 写回答

2条回答 默认 最新

  • 小灸舞 2016-04-16 07:12
    关注

    看了四行发现一个小错误
    if((year%4==0 && year%100==0) || year%400==0) 应该改成if((year%4==0 && year%100!=0) || year%400==0)

    评论

报告相同问题?

悬赏问题

  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。