原题链接:[编程入门]结构体之时间设计
题目解读:这道题就是给我们日期,让我们通过程序计算出该日期是这一年的第几天。
解题思路及代码:
首先,我们要定义用于存储年,月,日的变量。在这里有两个方法,第一种如题目名,用定义结构体的方法来存储,第二种适用于没有掌握结构体的同学们,通过定义三个变量来存储。此外,我们还要定义一个数组来存储十二个月。
//定义方法一
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复