原题链接:[编程入门]结构体之时间设计
解题思路:
第一步:
定义结构体
为了书写方便,我将结构体重名为DATE。
第二步:
用数组保存平年的12个月份的天数。什么是平年?是否有人不知道,平年是和闰年相对的,平年的2月是28天,闰年的2月是29天,所以闰年比平年多一天,平年365天,而闰年是366天。
故闰年平年关系:闰年2月天数=平年2月天数+1
第三步:
判断year是否闰年!
if(year%4==0&&year%100!=0||year%400==0)
如果是闰年,那么将2月的天数加1。
即a[1]+=1;
第四步:
累加天数
第五步:
输出结果。
注意事项:
typedef基础语法!
参考代码:
#include <stdio.h> typedef struct Date { int year; int month; int day; }DATE; int main() { DATE x; //定义一个结构体变量 int a[12]={31,28,31,30,31,30,31,31,30,31,30,31},sum=0; scanf("%d%d%d",&x.year,&x.month,&x.day); if(x.year%4==0&&(x.year%100==0||x.year%400==0)) { a[1]+=1; //闰年的2月加一天 } for(int i=0; i<x.month-1; i++) { sum+=a[i]; //累加 } printf("%d\n",sum+x.day); //别忘了天数day }
测试环境:
Windows China HUAWEI Source Insight 4.0
Linux Debain Ubuntu/Kali gcc
程序测试:
0.0分
9 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复