当前位置: 代码迷 >> 综合 >> 题目 1049: [编程入门]结构体之时间设计
  详细解决方案

题目 1049: [编程入门]结构体之时间设计

热度:60   发布时间:2023-11-25 07:08:29.0

题目描述

定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

#include<stdio.h>
int main()
{struct data{//结构体定义data型数据data1int year;int month;int day;
}data1;scanf("%d",&data1.year);//分别将年月日读取到data1中scanf("%d",&data1.month);scanf("%d",&data1.day);int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//创建一个普通年份的每个月天数的数组int sum=0,i;
//对于闰年进行特殊判断执行,如果满足是闰年并且在2月份之后,
//那么我们只需套在普通年份的算法上多加上一天即可。if(data1.year%400==0||(data1.year%4==0&&data1.year%100!=0)&&data1.month>2){for(i=0;i<data1.month-1;i++){sum+=a[i];}sum+=data1.day;sum+=1;}else//非闰年年份同理{for(i=0;i<data1.month-1;i++){sum+=a[i];}sum+=data1.day; }printf("%d",sum);//输入最后的结果return 0;
}