计算某日是该年的第几天
编写一个计算天数的程序,用户从键盘输入年、月、日,在屏幕中输出此日期是该年的第几天。
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天\n", 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天\n", a, b, c, sum); 34 } 35 }