求输出此日期是该年的第几天
Posted 徐景祥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求输出此日期是该年的第几天相关的知识,希望对你有一定的参考价值。
1 /* Note:Your choice is C IDE */ 2 #include "stdio.h" 3 4 /*编写一个计算天数的程序, 5 *用户从键盘输入年、月、日, 6 *在屏幕输出此日期是该年的第几天 7 */ 8 /*自定义函数leap(),判断输入的年份是否为闰年*/ 9 int leap(int a) 10 { 11 //闰年是公历中的名词,能被4整除但不能被100整除,或能被400整除的年份即为闰年 12 if(a%4==0&&a%100!=0||a%400==0)//闰年判定条件 13 { 14 return 1;//是闰年返回1 15 } 16 else 17 { 18 return 0;/*不是闰年返回0*/ 19 } 20 } 21 22 /*自定义函数number(),计算输入的日期为该年的第几天*/ 23 int number(int year,int m,int d) 24 { 25 int sum=0,i,j,k,a[12]= 26 { 27 31,28,31,30,31,30,31,31,30,31,30,31 28 };//数组a存放平年每月的天数 29 int b[12]= 30 { 31 31,29,31,30,31,30,31,31,30,31,30,31 32 };//数组b存放闰年每月的天数 33 if(leap(year)==1)//判断是否为闰年 34 { 35 36 for(i=0;i<m-1;i++) 37 { 38 sum+=b[i];//是闰年,累加数组b前m-1个月份的天数 39 } 40 } 41 else 42 43 for(i=0;i<m-1;i++) 44 { 45 sum+=a[i];//不是闰年,累加数组a前m-1个月份的天数 46 47 } 48 sum+=d;//将前面累加的结果加上日期,求出总天数 49 return sum;//返回计算的天数 50 } 51 void main() 52 { 53 int year,month,day,n; 54 printf("请输入年月日:\\n"); 55 scanf("%d%d%d",&year,&month,&day);//输入年月日 56 n=number(year,month,day);//调用函数 57 printf("第%d天\\n",n); 58 }
/*****************************************************************************/
自己独里做的
1 /* Note:Your choice is C IDE */ 2 #include "stdio.h" 3 /*编写一个计算天数的程序, 4 *用户从键盘输入年、月、日, 5 *在屏幕输出此日期是该年的第几天 6 */ 7 /* 8 *键盘输入年月日 9 *年的左右是判断是否是闰年 10 *月放进一个数组循环加进去 11 *日直接加 12 */ 13 void main() 14 { 15 int i,sum=0,year,month,day; 16 //闰年使用 17 int a[12]={31,29,31,30,31,30,31,31,30,31,30,31}; 18 //不是闰年使用 19 int b[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 20 printf("请输入年月日:\\n"); 21 scanf("%d%d%d",&year,&month,&day); 22 //判断是否为闰年 23 if(year%4==0&&year%100==0||year%400==0)//是闰年时 24 { 25 printf("%d是闰年\\n",year); 26 //没输入的月数-1加进来 27 for(i=0;i<month-1;i++) 28 { 29 sum+=a[i]; 30 } 31 32 } 33 else//不是闰年 34 { 35 for(i=0;i<month-1;i++) 36 { 37 sum+=b[i]; 38 } 39 } 40 sum+=day; 41 42 printf("第%d天",sum); 43 }
以上是关于求输出此日期是该年的第几天的主要内容,如果未能解决你的问题,请参考以下文章