C语言算法小实例4
C語言算法小實例4
四. 輸入任一日期,判斷此年為平年還是閏年?判斷為此天為此年的第幾天?
要求:1. 提醒用戶輸入格式為 yyyy-mm-dd。
2. 輸出本年為閏年還是平年。
3. 輸出此日期為此年第幾天。
思路分析:
正確代碼:
#include<stdio.h> int main(void) {int year, month, day, i;int sum = 0;int date[2][13]={{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};printf("請輸入日期:\n");scanf("%d%d%d", &year, &month, &day);if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)){printf("%d年為閏年\n", year);for(i = 0; i < month ; i++){sum = sum + date[0][i];}sum = sum + day;printf("%d年%d月%d日是%d年第%d天\n", year, month, day, year, sum);}else{printf("%d年為平年\n", year);for(i = 0; i < month; i++){sum = sum + date[1][i];}sum = sum + day;printf("%d年%d月%d日是%d年第%d天\n", year, month, day, year, sum);}return 0;}運行結果:
注意事項:
1.平年有365天,閏年有366天(平年2月28天,閏年2月29天)。
2.而且數組中應保存13個數,第一個數應為零,當輸入月份為1時,第幾天=0+輸入日期的天數,而不應該是第幾天=一月份天數+輸入日期的天數。
總結
- 上一篇: [转] 一百本名著中的一百句话
- 下一篇: $Self~Problem~C~:~Sa