输入年月份,输出这年的第几天?
这里可以用数组将每个月的天数存储起来,然后通过循环求解,注意循环物理下标。
#include <stdio.h>
int fun(int year, int month, int day)
{
int md[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0;
for(int i=0; i<month-1; i++)//这里要-1
sum = day+ md[i]+sum;
if(year%400==0 ||(year%4==0&&year%100!=0))
return (sum+1);
else return (sum);
}
int main()
{
int year,month,day;
printf("请输入年月份:\n");
scanf("%d%d%d",&year,&month,&day);
fun(year,month,day);
printf("%d年 %d月 %d日 是这一年的第 %d 天",year,month,day, fun(year,month,day));
return 0;
}