休闲之作,看你活了多久!!!(虽然我也是初学者,但希望这个可以帮到其他初学者)

没有太多花里胡哨的东西,我们直接从与本次编程有关开始!
C+Primer+Plus++第6版++中文版PDF电子书下载+高清+带索引书签目录(美)STEPHEN+PRATA著;姜佑译_北京:人民邮电出版社_P730_2016.04”这是设计本作品的缘由,里面的教程对初学者很有用,其中有个练习题目就是需要计算出活了多少天,便有了此次的编程。

分析

我们从出生到现在的时间,可以分为3个阶段
1:出生年到下一年里有多少天的剩余。
2:从下一年到现在年份(不包括月分)有多少天(这是固定的数)。
2:最后一年里,到现在过了多少月,多少天。
总结:把这3个天数相加,就成了我们想要的结果了!
怎么去实现?这是我们要去考虑的,(我失败了很多次,包括语法,语句,都有编译错误,我在这直接讲我最后成功过程情况吧)

设计思想

  • 抬头
    书上说,由于目前很多的编程软件的诞生,很多正规规范的写法也变得五花八门,最好是要按照正规写法,让程序编写出来,兼容性会好一些。
    这里写图片描述
    定义函数需要在开头顶端定义

  • 闰年
    :我们会发现,每一年的天数是有规律的,那就是每相隔4年,便是一个闰年。
    为了能够方便使用,我们用1896年-2096年,正好是50个闰年数
    这里写图片描述
    用此来判断是不是闰年

  • 因为闰年和非闰年的月数不同,想过用一个数组来表示,但觉得这样会更繁琐,所以得到:
    这里写图片描述

  • 因为我希望能够一次翻译多次使用,便用了goto 跳转
    again:
    ……
    goto again;

  • 从开头说的,一共分3个版块,也同时可以分3个函数来计算,并最后相加可得天数

  • 1:中间年份的算法:
    先判断输入的年份之间有多少个闰年,是闰年就加上366,并返回,不是则加上365,并返回
    这里写图片描述
    (ps:其中检修是因为设计时候要看到每一步的函数变化,才好去改正式子)

  • 2:开始和现在年份中过了多少天的算法:
    因为开始和现在的年份也需要考虑是否闰年,毕竟2月份±1天嘛,所以这一步,只要想法没错,就不会爬坡:只要ctrl+c,ctrl+v就可以了(:
    首先是出生年:
    (1):判断是否是闰年:
    这里写图片描述
    (ps:由于闰年属性是穿插在全文的,我机制的放在了开头就定义了,不需要再改动,同样也是用了goto来无条件跳转)
    (2):定义好整体,
    出生年到下一年的算法和输入出生天/月有关:用当月的总天数减去出生天-就是当月剩余需要累加的天数。用12减去月份,便是还需要过的月份,再结合开始吧闰年和费闰年的月份/天数数组带入计算。相加便得到了出生年月日到隔年的天数。
    这里写图片描述↑闰年
    这里写图片描述
    ↑非闰年(ps:同样的为了他们能够准确输出用了goto over;)
    (3):现在的年份正好相反
    因为现在日是已经过去了的,直接相加,现在月算出总和天数就可以了。
    这里写图片描述
    ↑同样也是先判断是否闰年,为什么不是run了呢,因为上面用了,会有冲突,所以加个t(too)
    这里写图片描述
    ↑同样的goto overt;

  • OK,激动人心的时候到了!(也许就只有我体会得到–)
    把上面所得到有用的参数全部相加!!!!!!!就得到了我们想要的结果!
    不废话了,上图↓
    这里写图片描述
    编译,输入,得到,ok,圆满了,谢谢各位的“看”,也欢迎大神的钱来沟通!也谢谢我自己打了这么久的字(:
    源代码已经上传了,系统定义1积分,大家可以去下载看看。

代码块

代码块语法遵循标准markdown代码,例如:

@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''

脚注

         --------------下面这个啥代码,比较看不懂,还是C看的懂点,,,,
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻动琴弦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值