最近练习C语言时,发现这道编程题综合了平年闰年的判断以及数组的知识
感觉有必要记录一下,所以自己编写了这样的程序。编译器必须要说明一下,关于
C语言练习这个章节,笔者使用VS2015编译器(因为好多大神,经常忘了描述他们的编译环境,有时候用他们的代码,编译无法通过)
1 #include <stdio.h> 2 3 4 //计算某日是该年的第几天 5 //1.判断平年闰年 6 //2.定义平年和闰年数组 7 8 int leap(int year); 9 int Sum_Day(int year, int month, int day); 10 11 int main(int argc, char *argv) { 12 int year, month, day; 13 int sum; 14 scanf("%d%d%d",&year,&month,&day); 15 printf("%d\n",Sum_Day(year,month,day)); 16 17 } 18 19 20 int leap(int year) { 21 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) 22 { 23 return 1; 24 } 25 else { 26 return 0; 27 } 28 } 29 30 int Sum_Day(int year, int month, int day) { 31 int Lyear[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; 32 int Nyear[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; 33 int sum=0; 34 if (leap(year)) { 35 for (int i = 0; i < month - 1; i++) { 36 sum += Lyear[i]; 37 } 38 } 39 else 40 { 41 for (int i = 0; i < month - 1; i++) { 42 sum += Nyear[i]; 43 } 44 } 45 46 return sum+day; 47 }
效果如下: