本題要求實現一個函數,在主函數中輸入一個日期的年、月、日的值(空格分隔),然后在被調函數中求出這一天是當年的第幾天,在主函數中輸出結果。
#include <stdio.h> int sumdays(int y,int m,int d); int main(void) { int year,month,day,days; scanf("%d%d%d",&year,&month,&day); days=sumdays(year,month,day); printf("%d",days); return 0; }
//這里是函數 int sumdays(int y,int m,int d) { int sum = 0; //1 2 3 4 5 6 7 8 9 10 11 12 int mounth_1[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int mounth_2[12]={31,29,31,30,31,30,31,31,30,31,30,31}; if((y %4 == 0 && y% 100 != 0)|| y % 400 ==0) { for(int i = 0; i < m-1; i++) { sum+=mounth_2[i]; } sum+=d; } else { for(int i = 0; i < m-1; i++) { sum+=mounth_1[i]; } sum+=d; } return sum; }