解题思路:

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 人评分

  评论区