0
点赞
收藏
分享

微信扫一扫

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面


题目描述

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

输入

年月日

输出

当年第几天

样例输入

2000 12 31

样例输出

366

来源/分类

C语言 

题目截图:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_i++


思路:

设置一个数组,存储所有月份的日期。
2月份的比较特殊,需要判断是不是闰年。这个需要单独拉出来进行赋值;
if((a%100==0&&a%400==0)||(a%4==0&&a%100!=0))
s=1;
if(s==1)
w[2]=29;
else
w[2]=28;
闰年是29,平常是28.
其他就是根据月份对日期相加,最后加上你输入的日期就是最后结果啦。

代码:

#include <iostream>
using namespace std;

int main()
{
int a,b,c;int s=0;int day=0;
cin>>a>>b>>c;
int w[12]={0};
if((a%100==0&&a%400==0)||(a%4==0&&a%100!=0))
s=1;
if(s==1)
w[2]=29;
else
w[2]=28;
for(int i=0;i<12;i++)
{

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
w[i]=31;
if(i==4||i==6||i==9||i==11)
w[i]=30;
}
for(int i=0;i<12;i++)
{
//cout<<w[i]<<" ";
}



for(int i=0;i<b;i++)
{
day+=w[i];
}
day+=c;
cout<<day;
}

代码截图:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_ios_02


代码执行截图:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_#include_03


OJ结果:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_i++_04


利用结构体:

#include <iostream>
using namespace std;
struct y_m_d
{
int year;
int month;
int day;
};
int days(struct y_m_d date)
{
int sum=date.day;
int w[13]={0};
for(int i=0;i<13;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
w[i]=31;
if(i==4||i==6||i==9||i==11)
w[i]=30;
if(date.year%400==0||(date.year%4==0&&date.year%100!=0))
w[2]=29;
else
w[2]=28;
}
for(int i=0;i<12;i++)
{
//cout<<w[i]<<" ";
}
for(int i=0;i<date.month;i++)
{
sum+=w[i];
}

return sum;
}
int main()
{
struct y_m_d date;int s;
cin>>date.year>>date.month>>date.day;
s=days(date);
cout<<s;
}

代码截图:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_#include_05

OJ结果:

ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面_i++_06


举报

相关推荐

0 条评论