给出年、月、日,计算该日时该年的第n天
急
用C语言,不要c++
给出年、月、日,计算该日时该年的第n天
答案:4 悬赏:80
解决时间 2021-02-18 23:57
- 提问者网友:爱你等于作孽
- 2021-02-18 14:44
最佳答案
- 二级知识专家网友:怪咖小青年
- 2021-02-18 15:38
#include
void main()
{int Y,M,D,a[13]={366,31,29,31,30,31,30,31,31,30,31,30,31},
b[13]={365,31,28,31,30,31,30,31,31,30,31,30,31},E,i;char c;
K:scanf("%d%c%d%c%d",&Y,&c,&M,&c,&D);
if((Y%4==0&&Y%100!=0)||(Y%4==0&&Y%400==0))
{E=0;
for(i=1;i
E=E+a[i];
printf("It is the year's first %d day.\n",E+D);}
else
{E=0;
for(i=1;i
E=E+b[i];
printf("It is the year's first %d day.\n",E+D);}
goto K;
getch();}
注:将注释删除之后再运行,输入格式形如,2009,12,25或2009/12/25或2009-12-25或
2009 12 25或2009.12.25或2009\12\25或2009.12/25等都是可以的,还可以是其他的形式,不过注意在数字之间必须插入一个符号就是了
void main()
{int Y,M,D,a[13]={366,31,29,31,30,31,30,31,31,30,31,30,31},
b[13]={365,31,28,31,30,31,30,31,31,30,31,30,31},E,i;char c;
K:scanf("%d%c%d%c%d",&Y,&c,&M,&c,&D);
if((Y%4==0&&Y%100!=0)||(Y%4==0&&Y%400==0))
{E=0;
for(i=1;i
printf("It is the year's first %d day.\n",E+D);}
else
{E=0;
for(i=1;i
printf("It is the year's first %d day.\n",E+D);}
goto K;
getch();}
注:将注释删除之后再运行,输入格式形如,2009,12,25或2009/12/25或2009-12-25或
2009 12 25或2009.12.25或2009\12\25或2009.12/25等都是可以的,还可以是其他的形式,不过注意在数字之间必须插入一个符号就是了
全部回答
- 1楼网友:魅世女王
- 2021-02-18 18:09
#include
#include
int main()
{
int Y,M,D;
scanf("%d%d%d",&Y,&M,&D);
int i,n,n1=0;
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((Y%4==0&&Y%100!=0)||Y%400==0)
m[1]=29;
for(i=2;i<=M;i++)
n1+=m[i-2];
n=n1+D;
printf("%d",n);
return 0;
}
对于任意给定的年、月、日都行。
- 2楼网友:情战凌云蔡小葵
- 2021-02-18 17:02
void main()
{
int year=2009,month=12,day=25;
bool leap=0;
leap = (year%400==0)| (year%100!=0) & (year%4==0);//是否为闰年
for (i=1;i<=month-1;i++) //当年的累计天数
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: total+=31;
break;
case 4:
case 6:
case 9:
case 11: total+=30;
break;
case 2: if ...void main()
{
int year=2009,month=12,day=25;
bool leap=0;
leap = (year%400==0)| (year%100!=0) & (year%4==0);//是否为闰年
for (i=1;i<=month-1;i++) //当年的累计天数
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: total+=31;
break;
case 4:
case 6:
case 9:
case 11: total+=30;
break;
case 2: if (leap)
total+=29;
else
total+=28;
break;
}
total = total+day; //加上当月的天数
}
- 3楼网友:ー何必说爱
- 2021-02-18 16:43
等下给你
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |