求输出此日期是该年的第几天

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 }

 

 

以上是关于求输出此日期是该年的第几天的主要内容,如果未能解决你的问题,请参考以下文章

Python练习题 004:判断某日期是该年的第几天

ZZNUOJ_C语言1130:第几天(附完整源码)

HDU 2005 第几天?

zzuli OJ 1129: 第几天

用C语言写一个函数,给出年月日,计算该日是该年的第几天

用C语言写一个函数,给出年月日,计算该日是该年的第几天