WYC0922


私信TA

用户名:dotcpp0653421

访问量:1953

签 名:

等  级
排  名 869
经  验 3442
参赛次数 19
文章发表 21
年  龄 12
在职情况 学生
学  校 大庆一中
专  业

  自我简介:

厉害的人

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

解题思路及代码:

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

//定义方法一
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分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区