问题如下:用户从键盘上输入年月日,得出这是这一年的第几天。
分析问题:首先看一下这个题,经过读题我们得知要求计算天数,首先我们要判断这个年是平年还是闰年,然后再相加,代码如下:
#include <stdio.h>
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int number(int year,int m,int d)
{
int sum=0,i,j,k,a[12]={31,28,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,31,30,31,30,31};
if(leap(year)==1)
for(i=0;i<m-1;i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=d;
return sum;
}
void main()
{
int year,month,day,n;
printf("请输入年月日:\n");
scanf("%d%d%d",&year,&month,&day);
n=number(year,month,day);
printf("%d\n",n);
}
代码解析:我们看一下这部分代码,可以看出首先通过两个函数写出了判断闰年以及如何计算天数,即可得出结果。