C语言学习8

计算某日是该年的第几天

编写一个计算天数的程序,用户从键盘输入年、月、日,在屏幕中输出此日期是该年的第几天。

 1 /****************************************************************************************/
 2 
 3 /**普通年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年)**/
 4 /**********世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年)*************/
 5 /***1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天***/
 6 
 7 /****************************************************************************************/
 8 #include <stdio.h>
 9 
10 void main()
11 {
12     int a, b, c, i, sum = 0;
13     int d[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
14     int e[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
15     printf("please input year-month-day:");
16     scanf("%d-%d-%d", &a, &b, &c);
17     if(((0 == a%4) && (0 != a%100)) || 0 == a%400)
18     {
19         for(i = 1; i<b; i++)
20         {
21             sum = sum + d[i-1];
22         }
23         sum = sum + c;
24         printf("这是%d-%d-%d的第%d天
", a, b, c, sum);
25     }
26     else
27     {
28         for(i = 1; i<b; i++)
29         {
30             sum = sum + e[i-1];
31         }
32         sum = sum + c;
33         printf("这是%d-%d-%d的第%d天
", a, b, c, sum);
34     }
35 }
原文地址:https://www.cnblogs.com/wangkeqi/p/9389154.html