注意事项:
1、从程序的第42行开始,不需要再写12月的代码了,因为第9行循环变量i最大范围是“最大的月份-1“,即12-1=11,不会轮到12月。
2、一定要注意程序的第51行要加上一个‘;’,否则会出现的尴尬场面。
参考代码:
#include<iostream> using namespace std; struct date { int year,month,day; int today(int years,int months,int days) { int hday=0; for(int i=1;i<months;i++)//第9行 switch(i) { case 1: hday+=31; break; case 2: hday+=28; break; case 3: hday+=31; break; case 4: hday+=30; break; case 5: hday+=31; break; case 6: hday+=30; break; case 7: hday+=31; break; case 8: hday+=31; break; case 9: hday+=30; break; case 10: hday+=31; break; case 11://第42行 hday+=30; break; } hday+=days; if(months>2&&(years%4==0&&years%100!=0||years%400==0)) hday++; return hday; } };//第51行 int main() { date d; cin>>d.year>>d.month>>d.day; cout<<d.today(d.year,d.month,d.day); return 0; } |
记得给5星好评!
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复