110,590
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("*******");
Console.Write("\n year");
int year = int.Parse(Console.ReadLine());
Console.Write("\n month");
int month = int.Parse(Console.ReadLine());
int days = 0;
Boolean isRn;
if ( (year %4 == 0 && year%100 != 0) || (year%400 == 0))
{
isRn = true;
}
else { isRn = false; }
int totaldays = 0;
for (int i = 1900; i <year; i++)
{
if (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0)
{
totaldays = totaldays + 366;
}
else { totaldays = totaldays + 365; }
}
int beforedays = 0;
for (int i = 1; i <= month; i++) {
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 2:
if(isRn)
{
days=29;
}
else {days=28;}
break;
default:
days=30;
break;
}
if (i < month) {
beforedays = beforedays + days;
}
}
totaldays = totaldays + beforedays;
int firsdayofmonth; //存储当月第一天是星期几,周日是0,周一到周六1-6
int temp = 1+totaldays % 7;
if (temp == 7)
{
firsdayofmonth = 0;
}
else { firsdayofmonth = temp; }
Console.WriteLine("星期日\t星期一\t星期二\t星期3\t星期4\t星期5\t星期6");
for (int nullno = 0; nullno < firsdayofmonth; nullno++) {
Console.Write("\t");
}
for (int i = 1; i <= days; i++) {
Console.Write(i + "\t");
if ((totaldays + i -1) % 7 == 5) //当天为周六换行输出
{
Console.WriteLine();
}
}
}
}
}
static void Main(string[] args)
{
Console.WriteLine("*******");
Console.Write("\n year");
int year = int.Parse(Console.ReadLine());
Console.Write("\n month");
int month = int.Parse(Console.ReadLine());
DateTime dt = new DateTime(year, month, 1);
int firsdayofmonth; //存储当月第一天是星期几,周日是0,周一到周六1-6
firsdayofmonth = (int)dt.DayOfWeek;
int days = (dt.AddMonths(1) - dt).Days;
Console.WriteLine("星期日\t星期一\t星期二\t星期3\t星期4\t星期5\t星期6");
for (int nullno = 0; nullno < firsdayofmonth; nullno++)
{
Console.Write("\t");
}
for (int i = 1; i <= days; i++)
{
Console.Write(i + "\t");
if (i % 7 == 5) //当天为周六换行输出
{
Console.WriteLine();
}
}
}
for (int i = 1; i <= days; i++)
{
Console.Write(i + "\t");
if ((i + firsdayofmonth - 1) % 7 == 6) //当天为周六换行输出
{
Console.WriteLine();
}
}
Console.WriteLine("*******");
Console.Write("\n year");
int year = int.Parse(Console.ReadLine());
Console.Write("\n month");
int month = int.Parse(Console.ReadLine());
var dateTime = new DateTime(year, month, 1);
Console.WriteLine("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
var week = (int)dateTime.DayOfWeek;
for (int nullno = 0; nullno < week; nullno++)
{
Console.Write("\t");
}
for (int i = week; i < (dateTime.AddMonths(1)-dateTime).Days+week; i++)
{
Console.Write((i-week+1) + "\t");
if ( i% 7 == 6)
{
Console.WriteLine();
}
}