输入错误提示部分代码省略,只考虑年份输入正确的情况!

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个年份:");
            int year = int.Parse(Console.ReadLine());
            //计算1900 — year-1年经过的天数

for (int month = 1; month <= 12; month++)
            {

List<string> date = new List<string>();
                int crossDaysOfYear = 0;

for (int i = 1900; i < year; i++)
                {
                    if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
                    {
                        crossDaysOfYear += 366;
                    }
                    else
                    {
                        crossDaysOfYear += 365;
                    }
                }
                //在year这一年从1月到month-1月经过的天数
                int crossDaysOfMonth = 0;
                for (int i = 1; i < month; i++)
                {
                    if (i == 2)
                    {
                        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                        {
                            crossDaysOfMonth += 29;
                        }
                        else
                        {
                            crossDaysOfMonth += 28;
                        }
                    }
                    else if (i <= 7 && i % 2 != 0 || i > 7 && i % 2 == 0)
                    {
                        crossDaysOfMonth += 31;
                    }
                    else
                    {
                        crossDaysOfMonth += 30;
                    }
                }
                int crossDays = crossDaysOfYear + crossDaysOfMonth;
                int dayOfWeek = crossDays % 7 + 1;
                int space = dayOfWeek - 1;
                for (int i = 0; i < space; i++)
                {
                    date.Add("");
                }

#region  将日期数字加入到集合
                int days;//用户输入month这个月的天数
                if (month == 2)
                {
                    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                    {
                        days = 29;
                    }
                    else
                    {
                        days = 28;
                    }
                }
                else if (month <= 7 && month % 2 != 0 || month > 7 && month % 2 == 0)
                {
                    days = 31;
                }
                else
                {
                    days = 30;
                }
                for (int i = 1; i <= days; i++)
                {
                    date.Add(i.ToString());
                }
                #endregion
                #region 输出结果
                Console.WriteLine(month + "月");
                Console.WriteLine("==============================================================");
                Console.Write("一\t二\t三\t四\t五\t六\t日");
                for (int i = 0; i < date.Count; i++)
                {
                    if (i % 7 == 0)
                    {
                        Console.WriteLine();
                    }
                    Console.Write(date[i] + "\t");
                }
                Console.WriteLine();
                Console.WriteLine("==============================================================");
            }
                #endregion

}
    }
}

代码实现:根据输入的年份,打印该年的年历相关推荐

  1. python输入年份打印全年日历4×3_只需输入年份的打印日历

    这是对程序-->一个日历C程序的改进,没有了day_code &leap_year code的限制 可以直接输入年份打印出年历 /*Calendar1 打印出某年的日历,由用户只需输入年 ...

  2. javaScript用函数的方式实现闰年的判断:输入一个年份,判断是否是闰年(分析+代码)

    题目:输入一个年份,判断是否是闰年 分析: (1)闰年的判断条件是能被4整除却不能被100整除的年份.世纪年份能被400整除的是闰年 (2)用一般形式写出判断闰年的程序 (3)将程序改写为函数的方式 ...

  3. C#输入年份打印日历

    输入年份打印日历 C#打印日历思路 C#打印日历思路 在控制台中显示年历的方法 调用12次显示月历方法 在控制台中显示月历的方法 显示表头Console.WriteLine("日\t一\t- ...

  4. 写代码:输入一年份,判断该年份是否是闰年并输出结果。

    # 输入一年份,判断该年份是否是闰年并输出结果.# 注: 凡符合下面两个条件之一的年份是闰年.# 1. 能被4整除但不能被100整除.# 2. 能被400整除. year = int(input(&q ...

  5. 代码实现从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt...

    package com.loaderman.test;import java.util.Comparator; import java.util.Scanner; import java.util.T ...

  6. Java黑皮书课后题第4章:*4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数。如果月份非法则显示出错信息

    *4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数.如果月份非法则显示出错信息 题目 题目概述 破题 运行示例 代码 题 ...

  7. 3.8编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖。中国生肖基于12年一个周期,Java

    1. 题目要求   编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖.中国生肖基于12年一个周期,   每年一个生肖代表.鼠(rat).牛(ox).虎(tiger).兔(rabbit ...

  8. 从键盘输入的年份,判断该年是否是闰年

    从键盘输入的年份,判断该年是否是闰年 #include<stdio.h> int main() { int y,l; printf("年份:"); scanf(&quo ...

  9. javascript经典题型:根据用户输入的年份判断是否为闰平年

    这种体型相对来说比较简单,重点是记住判断闰年平年的条件 首先需要梳理一下这个程序功能的逻辑: 先定义一个变量year来接收用户输入的年份值 既然为用户输入,我们就需要用到prompt模块来弹出输入框让 ...

最新文章

  1. 独家 | 带你认识HDFS和如何创建3个节点HDFS集群(附代码案例)
  2. 导航能力堪比GPS!动物们是这样做到的
  3. 健康的身体是一切的保证 - 保护偶的颈椎!
  4. 非常好!!!Linux源代码阅读——环境准备【转】
  5. Linux之设置http代理
  6. Android:九宫格
  7. 315汽车大型排雷现场,数据总结避雷规律
  8. 用setsockopt()来控制recv()与send()的超时
  9. JAVA格式化当前日期或者取年月日
  10. 【转载保存】索引文件锁LockFactory
  11. SQL Sever中SQL语句语法,适合初学者使用
  12. 疫情之下欧洲初创投资,德国竟成最大输家
  13. Java工程带库编译运行
  14. 74. PHP 计数器
  15. 基于C++的校园一卡通管理系统
  16. 移动宽带断网 服务器没有响应,移动宽带卡终于解决了(移动宽带间歇性断网)...
  17. 业务层战略制定的思路和方法_如何确保公司年度战略目标落地—打造战略执行的方法论...
  18. 惠普服务器lio装系统,惠普Pavilion一体机一键u盘装系统win10教程
  19. Linux 自签名ssl证书生成
  20. Day 5 字典以及字典的用法

热门文章

  1. Postman 教程
  2. python tkinter listbox_Python中tkinter控件中的Listbox控件详解
  3. antd-Calendar(日历)自动嵌入对应时间问题
  4. python的脚本扩展名是什么_Python的脚本文件扩展名为()。
  5. python glove训练模型_NLP.TM | GloVe模型及其Python实现
  6. Linux入门的基础知识点大全,有这篇就够了。
  7. 思源宋体(Source Han Serif)安装
  8. react 改变css样式_react怎么更改css样式
  9. HTML5期末大作业:动漫网站设计——迪斯尼公主(6个页面) HTML+CSS+JavaScript 动漫网页HTML代码 学生网页课程设计期末作业下载 动漫大学生网页设计制作成...
  10. 四层高速dsp开发板制作5——预布局与精确布局