#include <stdio.h>
#include <stdlib.h>
int daysofmonth(int year, int month)
{
switch(month)
{
case 1:
return 31;
case 2:
if(leapornot(year))return 29;
return 28;
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 31;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
default:
return 0;
}
}
int leapornot(int year)
{
if((year%100 != 0)&&(year%4 == 0)) return 1;
if(year%400 == 0) return 1;
return 0;
}
int sumday(int year, int month, int day)
{
int i = 1;
int sum = 0;
for(i =1; i < month; i++)
{
printf("daysofmonth = %d\n", daysofmonth(year, i));
sum += daysofmonth(year, i); //注意:此处一定不要把i写成month。
}
sum += day;
return sum;
}
int main()
{
int sumd;
sumd = sumday(2017, 5, 27);
printf("sum day = %d\n", sumd);
#include <stdlib.h>
int daysofmonth(int year, int month)
{
switch(month)
{
case 1:
return 31;
case 2:
if(leapornot(year))return 29;
return 28;
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 31;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
default:
return 0;
}
}
int leapornot(int year)
{
if((year%100 != 0)&&(year%4 == 0)) return 1;
if(year%400 == 0) return 1;
return 0;
}
int sumday(int year, int month, int day)
{
int i = 1;
int sum = 0;
for(i =1; i < month; i++)
{
printf("daysofmonth = %d\n", daysofmonth(year, i));
sum += daysofmonth(year, i); //注意:此处一定不要把i写成month。
}
sum += day;
return sum;
}
int main()
{
int sumd;
sumd = sumday(2017, 5, 27);
printf("sum day = %d\n", sumd);
}
输出打印:
daysofmonth = 31
daysofmonth = 28
daysofmonth = 31
daysofmonth = 30
sum day = 147