码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-10-17 23:04:55      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:alt   分享   返回   choice   直接   class   turn   return   font   

 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 }

 技术分享

 

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

标签:alt   分享   返回   choice   直接   class   turn   return   font   

原文地址:http://www.cnblogs.com/kinson/p/7684158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!