编写一个计算天数的程序,用户从键盘输入年,月,日,在屏幕中输出此日期是该年第几天。
代码如下:
#include <stdio.h> /* 自定义函数leap()用来确定输入的年份是否为闰年 */ int leap(int a) { if((a%4 == 0 && a%100 != 0)|| a%400 == 0) /*闰年判断条件*/ return 1; /*是闰年返回1*/ else return 0; /*不是闰年返回0*/ } /*自定义函数number()计算*/ int number(int year,int m,int d) { int sum = 0,i,j,a[12]= { 31,28,31,30,31,30,31,31,30,31,30,31 }; /*数组a存放平年每月的天数*/ int b[12]= { 31,29,31,30,31,30,31,31,30,31,30,31 }; /*数组b存放闰年每月的天数*/ if(leap(year) == 1) /*判断是否为闰年*/ for(i=0;i<m-1;i++) sum += b[i]; /*是闰年,累加数组b前m-1个月份的天数*/ else for(i=0;i<m-1;i++) sum += a[i]; /*不是闰年,累加数组a前m-1个月份的天数*/ sum += d; /*将前面累加的结果加上日期,求出总天数*/ return sum; /*返回计算的天数*/ } int main() { int year,month,day,n; /*定义变量为基本整型*/ printf("请输入年月日\n"); scanf("%d%d%d",&year,&month,&day); /*输入年月日*/ n = number(year,month,day); /*调用函数number()*/ printf("第%d天\n", n); }
运行结果:
请输入年月日
2015 5 18
第138天