C#逻辑面试题汇总【不断更新中】
(1)产生本月的月历,参考样式:
|
1
2
3
4
5
6
|
SU
MO TU WE TH FR SA 01
02 03 0405
06 07 08 09 10 1112
13 14 15 16 17 1819
20 21 22 23 24 2526
27 28 29 30 |
将结果存入一个字符串里面
框架程序:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[]
args) { string calendar
= ""; //
在这里编写代码 Console.WriteLine(calendar); } }} |
时间限制 1 小时。
===============================================================
答案区:
(1)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
string calendar
= "";//
在这里编写代码DateTime
now = DateTime.Today;DateTime
dt1 = new DateTime(now.Year,
now.Month, 1);DateTime
dt2 = dt1.AddMonths(1).AddDays(-1);StringBuilder
sb = new StringBuilder();for (int i
= (int)DayOfWeek.Sunday;
i <= (int)DayOfWeek.Saturday;
i++){ sb.Append(((DayOfWeek)i).ToString().Substring(0,
2).ToUpper() + "
");}for (DateTime
dt = dt1.AddDays(-(int)now.DayOfWeek);
dt <= dt2; dt = dt.AddDays(1)){ if (dt.Month
< now.Month) sb.Append("
"); else sb.Append(dt.Day.ToString().PadLeft(2, '0')
+ "
"); if (dt.DayOfWeek
== DayOfWeek.Saturday) sb.AppendLine();}calendar
= sb.ToString();Console.WriteLine(calendar); |

浙公网安备 33010602011771号