C语言编写days函数 计算该日是该年的第几天
答案:5 悬赏:0 手机版
解决时间 2021-03-31 03:09
- 提问者网友:蓝琪梦莎
- 2021-03-30 19:14
C语言编写days函数 计算该日是该年的第几天
最佳答案
- 五星知识达人网友:毛毛
- 2021-03-30 20:01
#include
int days(int y,int m,int d)
{int i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(y<1||m<1||d<1||d>a[m]+(y%4==0&&y%100>0||y%400==0))
int days(int y,int m,int d)
{int i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(y<1||m<1||d<1||d>a[m]+(y%4==0&&y%100>0||y%400==0))
{printf("%d-%d-%d不是一个有效的日期!
",y,m,d); return -1;
}
for(i=1;i
return d;
}
int main()
{int year,month,day,answer;
printf("请输入一个日期yyyy-mm-dd
"); scanf("%d-%d-%d",&year,&month,&day);
answer=days(year,month,day);
if(answer>0)
printf("%d-%d-%d 是该年的第 %d 天.
",year,month,day,answer); getch();
return 0;
}
全部回答
- 1楼网友:鸠书
- 2021-03-30 23:54
main()
{
intday,month,year,sum,leap;
printf("\npleaseinputyear,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case1:sum=0;break;
case2:sum=31;break;
case3:sum=59;break;
case4:sum=90;break;
case5:sum=120;break;
case6:sum=151;break;
case7:sum=181;break;
case8:sum=212;break;
case9:sum=243;break;
case10:sum=273;break;
case11:sum=304;break;
case12:sum=334;break;
default:printf("dataerror");break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
printf("Itisthe%dthday.",sum);
}
{
intday,month,year,sum,leap;
printf("\npleaseinputyear,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case1:sum=0;break;
case2:sum=31;break;
case3:sum=59;break;
case4:sum=90;break;
case5:sum=120;break;
case6:sum=151;break;
case7:sum=181;break;
case8:sum=212;break;
case9:sum=243;break;
case10:sum=273;break;
case11:sum=304;break;
case12:sum=334;break;
default:printf("dataerror");break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
printf("Itisthe%dthday.",sum);
}
- 2楼网友:想偏头吻你
- 2021-03-30 22:49
#include
int days(int year, int month, int day) ;
int main()
{
int year, month, day ;
int total = 0 ;
printf("输入年/月/日(如2012/1/1)\n") ;
scanf("%d/%d/%d", &year, &month, &day) ;
total = days(year, month, day) ;
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, total) ;
return 0 ;
}
int days(int year, int month, int day)
{
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31} ;
int i ;
int total = 0 ;
for(i = 0; i < month - 1; i++)
total += days[i] ;
total += day ;
if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0)
{
if(month > 3)
total ++ ;
}
return total ;
}
- 3楼网友:枭雄戏美人
- 2021-03-30 22:14
看看这个程序吧,很简单,希望对你有帮助。
#include
int main()
{
int n,r,y,i=0,sum=0;
int z[13]={31,0,31,30,31,30,31,31,30,31,30,31};
printf( "input date (yyyy/mm/dd):" );
scanf("%d/%d/%d",&n,&y,&r);
if ( (n%4==0&&n%100!=0) || n%400==0 )
z[1]=29 ;
else
z[1]=28;
for( i=0;i sum += z[i] ;
sum += r ;
printf( "%d/%d/%d is %dth day!",n,y,r,sum );
return 0;
}
#include
int main()
{
int n,r,y,i=0,sum=0;
int z[13]={31,0,31,30,31,30,31,31,30,31,30,31};
printf( "input date (yyyy/mm/dd):" );
scanf("%d/%d/%d",&n,&y,&r);
if ( (n%4==0&&n%100!=0) || n%400==0 )
z[1]=29 ;
else
z[1]=28;
for( i=0;i
sum += r ;
printf( "%d/%d/%d is %dth day!",n,y,r,sum );
return 0;
}
- 4楼网友:轮獄道
- 2021-03-30 21:40
#include"stdio.h"
main()
{
int y,m,d;
printf("Enter y,m,d:\n");
scanf("%d%d%d",&y,&m,&d);
printf("days=%d",days(y,m,d));
}
days(int y,int m,int d)
{
int i,sum=d;
for(i=1;i {
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:sum+=31;break;
case 4:
case 6:
case 9:
case 11:sum+=30;break;
case 2:if(y%400==0||y%4==0&&y%100%100!=0)
sum+=29;
else sum+=28;
break;
}
}
return sum;
}
main()
{
int y,m,d;
printf("Enter y,m,d:\n");
scanf("%d%d%d",&y,&m,&d);
printf("days=%d",days(y,m,d));
}
days(int y,int m,int d)
{
int i,sum=d;
for(i=1;i
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:sum+=31;break;
case 4:
case 6:
case 9:
case 11:sum+=30;break;
case 2:if(y%400==0||y%4==0&&y%100%100!=0)
sum+=29;
else sum+=28;
break;
}
}
return sum;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯