
求C语言作业,要求编一程序,题目是:输入一个时间 年月日 算出它在这一年是第几天!求能运行结果的 谢谢
2个回答
展开全部
#include "stdio.h" int leap(int year) { if ((year%4==0) && (year%100!=0) || (year%400==0)) return(1); else return(0); } main() { int leap(int year); int year,month,day,count=0; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int b,i; printf("%d%d%d",&year,&month,&day); b=leap(year); for (i=0;i<month;i++) count=count+a[i]; count=count+day+b; printf("他是这一年的第%d天",count); }
展开全部
#include "stdio.h" main() { int day,month,year,sum,leap; printf("please input year,month,day(like 2000 10 01):"); scanf("%d%d%d",&year,&month,&day); if( (month>12||day>31)||/*the day (month>12 or day>31) is not exist!*/ ((month==4||month==6||month==9||month==11)&&day==31)||/*the day [day=31 in (4,6,9,11)st month] is not exist!*/ (month==2&&(year%4==0&&year%100!=0)||(year%100==0&&year%400==0)&&day>29)||/*the day (day>29) in February is not exist!*/ (month==2&&day>28))/*the day(yera%4!=0) is not exist!*/ printf("the day is not exist!"); else { switch(month) /*先计算某月以前月份的总天数*/ { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf("data error");break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf("It is the %dth day.",sum); getch(); } }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |