第十七周 项目四(2)--两个人生日相差多少天(贺老师版)
来源:互联网 发布:linux如何不保存退出 编辑:程序博客网 时间:2024/04/29 05:17
问题及代码:
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2014年12月22日*版本号:v1.0**问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。*输入描述:输入年月日*程序输出:输出该年的第几天*/#include <iostream>using namespace std;struct Date{ int year; int month; int day;} ;int daysOfMonth[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};int day(Date); //计算出日期d和1900年1月1日差多少天int main(){ Date date; int d1=0,d2=0,t;//d1和d2分别代表两个人的生日和1900年1月1日相差多少天 cout<<"第一个人的出生日期:"; cin>>date.year>>date.month>>date.day; d1=day(date); cout<<"第二个人的出生日期:"; cin>>date.year>>date.month>>date.day; d2=day(date); //对两个人的生日,求出了和1900年1月1日相差多少天(d1和d2),下面相减 t=d2-d1; if(t<0) { t=-t;//若出现负数,则将其化为正数 } cout<<"两人生日相差"<<t<<"天."<<endl;}int day(Date d){ int days=0,i; for(i=1900; i<d.year; i++)//算出这年1月1日到1900年1月1日共多少天 { days+=365; if(i%400==0||(i%4==0&&i!=0)) { days++; } } for(i=1; i<d.month; ++i) days+=daysOfMonth[i]; //加上当年当月之前的天数 days+=d.day; //再加上本月天数 if (d.month >=3 && ((d.year %4== 0 && d.year % 100 != 0) ||d.year % 400 == 0)) days+=1; //当年为闰年且进入了3月,还要加1天 return days; //生日到1900年1月1日共多少天}
运行结果:
知识点总结:贺老师在这个程序中用到了数组表示一年中的12个月的天数,把第一个月记为0,当为一月时只加日就可以了。并且还以1900年为基准,计算两人生日相差的天数。。
学习心得:要善于积累,通过比较知道自己在for语句循环用的还不是很灵活。
0 0
- 第十七周 项目四(2)--两个人生日相差多少天(贺老师版)
- 第十七周项目4-两人生日相差多少天
- 第十七周 项目四(2)--两人生日相差几天
- 第十七周项目四日期结构体(2)两个人的生日相差多少天
- 第十七周 项目四:输出两个人相差多少天
- 第十八周项目四-1 定义结构体算两人生日相差多少天
- 第十七周项目 (2)输入两个人的生日,求出他们相差多少天。
- 第十七周项目四 日期结构体-(2)两人生日差几天
- 第十七周 项目4.2日期结构体(计算两个人的生日相差多少天)
- php计算两个日期相差多少天(日)…
- 第十七周项目四——日期结构体(2)求出生日相差天数
- 求两人生日相差多少天
- 第十七周项目四 两人生日差几天
- 第十七周上机项目四(2)
- 17周,项目四,结构体计算两人生日相差的天数
- java计算两个日期间相差多少天多少小时多少分多少秒
- 两个日期相减(不包括日在内),得到差值 即相差多少个月
- 第17周项目4-两人生日相差几天
- 修改sqlserver2008数据库文件默认存放目录
- poj2044 Weather Forecast (记忆化搜索)
- JAVAssist
- 第17周项目2-引用做形参(2)
- 反渗透设备:反渗透设备工艺流程及其用途阐述
- 第十七周 项目四(2)--两个人生日相差多少天(贺老师版)
- 从海康7816的ps流里获取数据h264数据
- C#方法的参数 Ref Out Params 4种类型的参数
- 安全卫士——Day07_1
- Single Number II
- 将"China"译成密码
- Python os
- Core Data(3)
- 动态计算UITableViewCell高度详解