题目解读:这道题就是给我们日期,让我们通过程序计算出该日期是这一年的第几天。

解题思路及代码:

       首先,我们要定义用于存储年,月,日的变量。在这里有两个方法,第一种如题目名,用定义结构体的方法来存储,第二种适用于没有掌握结构体的同学们,通过定义三个变量来存储。此外,我们还要定义一个数组来存储十二个月。

//定义方法一
struct date//定义一个结构体取名为date
{
    int year ;
    int month ;
    int day ;
};//注意这里一定要加上分号
date d;//定义日期
//定义方法二
int year,month,day ;//直接定义年月日
//定义月份数组
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//为了方便,定义13个数组

      输入

cin>>d.year>>d.month>>d.day ;

      然后是判断输入的年份是否是闰年:如果是闰年,那么将月份数组中的2月改为29天

if(d.year%4==0&&d.year%400==0)
{
    mon[2]=29 ;
}

       接下来,定义一个储存结果的变量,从1月开始加到输入月份的前一个月,再加上输入的日就好了

int sum=0 ;
for(int i=1;i<=d.month-1;i++)
{
    sum+=m[i] ;
} 
    sum+=d.day ;

       最后就是输出啦~

cout<<sum;

完整源代码如下:

#include <bits/stdc++.h>
using namespace std;
struct date
{
    int year,month,day ;
};
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
    int sum=0;
    date d ;
    cin>>d.year>>d.month>>d.day ;
    if(d.year%4==0||d.year%400==0)
    {
        m[2]=29 ;
    }
    for(int i=1;i<=d.month-1;i++)
    {
        sum+=m[i] ;
    }
    sum+=d.day ;
    cout<<sum;
    return 0;
}

本次博客就到这里,bye~

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论