C语言编程100例:4
2017-04-05 09:37
232 查看
题目:输入某年某月某日,判断这一天是这一年的第几天?
分析:四年一闰,百年不闰,四百年再闰,结合网上闰年的判断方法可以归纳一下:
1、年份能被4整除;2、年份若是100的整数倍的话,需被400整除,否则是平年。具备这两个条件的就是闰年
所以我们根据以上的判断可以写出相应的判断条件:
普通年(不能被100整除的年份)的闰年判断方法:
(year%100!=0)&&(year%4==0)
世纪年(能被100整除)的闰年的判断:
(year%100==0)&&(year%400==0)
两个判断条件或的情况下就是闰年:
((year%100!=0)&&(year%4==0))||((year%100==0)&&(year%400==0))
以上就是代码部分,整体来说题目不能就是要理清楚判断条件的设置。
分析:四年一闰,百年不闰,四百年再闰,结合网上闰年的判断方法可以归纳一下:
1、年份能被4整除;2、年份若是100的整数倍的话,需被400整除,否则是平年。具备这两个条件的就是闰年
所以我们根据以上的判断可以写出相应的判断条件:
普通年(不能被100整除的年份)的闰年判断方法:
(year%100!=0)&&(year%4==0)
世纪年(能被100整除)的闰年的判断:
(year%100==0)&&(year%400==0)
两个判断条件或的情况下就是闰年:
((year%100!=0)&&(year%4==0))||((year%100==0)&&(year%400==0))
#include<stdio.h> int main(void){ int year,month,day; int commonyear[12]={31,28,31,30,31,30,31,31,30,31,30,31};//设置一个数组用来记录平年的月份数量 int leapyear[12]={31,29,31,30,31,30,31,31,30,31,30,31};//设置一个数组用来记录闰年的月份数量。 int i,totalday=0; scanf("%d %d %d",&year,&month,&day);//输入年,月,日 //判断年份. //两个或判断语句,第一个或判断语句有两个条件,1.不能整除100且能够整除4.第二个或条件语句判断:1.能够整除100且能整除400 if(((year%100!=0)&&(year%4==0))||((year%100==0)&&(year%400==0))){ //一个for循环统计距离上个月份的所有月份总和。 for(i=0;i<month-1;i++){ totalday+=leapyear[i]; } }else{ for(i=0;i<month-1;i++){ totalday+=commonyear[i]; } } //加上当月的天数 totalday+=day; printf("%d",totalday); return 0; }
以上就是代码部分,整体来说题目不能就是要理清楚判断条件的设置。
相关文章推荐