C#实现小小的日历

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CalendarConsoleApp { class Program { static void Main(string[] args) { Console.WriteLine("请输入年月"); int year = int.Parse(Console.ReadLine()); int month = int.Parse(Console.ReadLine()); int day = 0; int sum = 0; for(int i=1900;i<year;i++) { if(i%4==0&&i%100!=0||i%400==0) { sum+=366; } else { sum+=365; } } switch(month) { case 12: day = 31; break; case 11: day = 30; break; case 10: day = 31; break; case 9: day = 30; break; case 8: day = 31; break; case 7: day = 31; break; case 6: day = 30; break; case 5: day = 31; break; case 4: day = 30; break; case 3: day = 31; break; case 2: if(year%4==0&&year%100!=0||year%400==0) day = 29; else day = 28; break; case 1: day = 31; break; } int leap; /*先计算某月以前月份的总天数*/ switch (month) { case 1: sum += 0; break; case 2: sum += 31; break; case 3: sum += 59; break; case 4: sum += 90; break; case 5: sum += 120; break; case 6: sum += 151; break; case 7: sum += 181; break; case 8: sum += 212; break; case 9: sum += 243; break; case 10: sum += 273; break; case 11: sum += 304; break; case 12: sum += 334; break; } /*判断是不是闰年*/ if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) leap = 1; else leap = 0; /*如果是闰年且月份大于2,总天数应该加一天*/ if (leap == 1 && month > 2) sum++; int space = (sum+1)%7; Console.WriteLine("日\t一\t二\t三\t四\t五\t六\t"); for(int i=1;i<=space+day;i++) { if(i<=space) Console.Write("\t"); else Console.Write(i-space+"\t"); if(i%7 == 0) Console.WriteLine(); } Console.WriteLine(); } } }



else
Console.Write(i-space+"\t");

if(i%7 == 0)
Console.WriteLine();
}
Console.WriteLine();
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值