解题思路:
1.首先按照题目要求定义一个结构体,如代码所示,Days为结构体类型,在main函数中定义的dd就是结构体变量名,它包含三个属性int year,int mon和int day;
2.因为每个月的天数都不相同,于是定义一个数组m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};此处为保证对应的数组下标能够对应实际月份,设计数组大小为13,令m[0]=0即可;
3.判断dd.year是否是闰年语句:if((dd.year%4) && !(dd.year%100) || !(dd.year%400)),如果是闰年就令m[2]=29;
4.计算天数:首先计算dd.mon的天数(利用循环实现),然后再计算当月具体第几天dd.day的值
注意事项:
1.在main函数体中输入对应的dd.year,dd.mon和dd.day,要注意'dd.'不能省略!
2.要知道如何判断闰年
参考代码:
#include<stdio.h>
typedef struct
{
int year;
int mon;
int day;
}Days;
int main()
{
Days dd;
int i,count=0;
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&dd.year,&dd.mon,&dd.day);
if((dd.year%4) && !(dd.year%100) || !(dd.year%400))
{
m[2]=29;
}
for(i=0;i<dd.mon;i++)
{
count+=m[i];
}
count+=dd.day;
printf("%d\n",count);
return 0;
}
0.0分
9 人评分