golang99道练习题之04

栏目: Go · 发布时间: 7年前

1.题目:输入某年某月某日,判断这一天是这一年的第几天?

2.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,

特殊情况,闰年且输入月份大于3时需考虑多加一天。

3..程序源代码:

package main

import "fmt"

func main() {
	var year, mouth, day, sum, feb int
	fmt.Println("请输入年月日:")
	fmt.Scan(&year, &mouth, &day)

	if (year%4 == 0 && year%100 != 0) || (year%400 == 0) {
		feb = 29
	} else {
		feb = 28
	}
	switch mouth {
	case 1:

		sum = 0 + day

	case 2:

		sum = 31 + day

	case 3:

		sum = feb + 31 + day

	case 4:

		sum = 31 + feb + 31 + day

	case 5:

		sum = 30 + 31 + feb + 31 + day

	case 6:

		sum = 31 + 30 + 31 + feb + 31 + day

	case 7:

		sum = 30 + 31 + 30 + 31 + feb + 31 + day

	case 8:

		sum = 31 + 30 + 31 + 30 + 31 + feb + 31 + day

	case 9:

		sum = 31 + 31 + 30 + 31 + 30 + 31 + feb + 31 + day

	case 10:

		sum = 30 + 31 + 31 + 30 + 31 + 30 + 31 + feb + 31 + day

	case 11:

		sum = 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + feb + 31 + day

	case 12:

		sum = 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + feb + 31 + day

	}
	fmt.Printf("您输入的日期是这一年的第%d天", sum)
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Sprint

Sprint

Jake Knapp、John Zeratsky、Braden Kowitz / Simon & Schuster / 2016-3-8 / GBP 14.60

媒体推荐 “Every business leader I know worries about the same thing: Are we moving fast enough? The genius of Jake Knapp’s Sprint is its step-by-step breakdown of what it takes to solve big problems an......一起来看看 《Sprint》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具