首页 新闻 会员 周边

C#停电问题

0
悬赏园豆:100 [已解决问题] 解决于 2021-05-30 13:33

用C#编程
Lee 的老家住在工业区,日耗电量非常大。今年 7 月,传来了不幸的消息,政府要在 7、8 月对该区进行拉闸限电。政府决定从 7月 1 日起停电,然后隔一天到 7 月 3 日再停电,再隔两天到 7 月 6 日停电,依次下去,每次都比上一次长一天。Lee 想知道自己到家后到底要经历多少天倒霉的停电。请编写程序帮他算一算。
任务:实现停电停多久问题关键算法。
注意:从键盘输入放假日期、开学日期,日期限定在 7、8 月份,且开学日期大于放假日期,然后在屏幕上输出停电天数。
提示:可以用数组标记停电的日期。

臭宝要努力的主页 臭宝要努力 | 初学一级 | 园豆:53
提问于:2021-05-28 00:58
< >
分享
最佳答案
0

//直接上代码了:
static void Main(string[] args)
{
DateTime now = new DateTime(2021, 7, 1);
DateTime to = new DateTime(2021, 8, 30, 23, 59, 59);
List<DateTime> result = new List<DateTime>();
int incDays = 2;
while (now <= to)
{
result.Add(now);
now = now.AddDays(incDays++);
}
foreach (var time in result)
{
Console.WriteLine(time.ToString("yyyy:MM:dd"));
}
return;
}

收获园豆:70
Mrs_ZMx | 菜鸟二级 |园豆:280 | 2021-05-28 08:36
其他回答(2)
0

这不会是考试题吧?

顾晓北 | 园豆:10844 (专家六级) | 2021-05-28 09:09
0
/*
Lee 的老家住在工业区,日耗电量非常大。今年 7 月,传来了不幸的消息,政府要在 7、8 月对该区进行拉闸限电。政府决定从 7月 1 日起停电,然后隔一天到 7 月 3 日再停电,再隔两天到 7 月 6 日停电,依次下去,每次都比上一次长一天。Lee 想知道自己到家后到底要经历多少天倒霉的停电。请编写程序帮他算一算。
任务:实现停电停多久问题关键算法。
注意:从键盘输入放假日期、开学日期,日期限定在 7、8 月份,且开学日期大于放假日期,然后在屏幕上输出停电天数。
提示:可以用数组标记停电的日期。
1,3,6,10,15,
*/
var d1 = new DateTime(2021, 07, 01);
var d2 = new DateTime(2021, 09, 01);


var allDays = new List<DateTime>();
var x = 2;
while (d1 < d2)
{
	allDays.Add(d1);
	d1 = d1.AddDays(x++);
}
Console.WriteLine($"{d1.ToShortDateString()}到{d2.ToShortDateString()},共停电{allDays.Count}天,[{string.Join(',', allDays.ConvertAll(x => x.ToShortDateString()))}]");
//计算
while (true)
{
	try
	{
		Console.WriteLine($"输入放假日期(格式:xxxx-mm-dd):");
		var t1 = DateTime.Parse(Console.ReadLine());
		Console.WriteLine($"输入开学日期(格式:xxxx-mm-dd):");
		var t2 = DateTime.Parse(Console.ReadLine());
		var result = allDays.Where(x => x >= t1 && x <= t2).ToList();
		Console.WriteLine($"{t1}到{t2},停电{result.Count}天,[{string.Join(',', result.ConvertAll(x => x.ToShortDateString()))}]");
	}
	catch (Exception ex)
	{
		Console.WriteLine($"格式错误:{ex.Message}");
	}
}

收获园豆:30
张朋举 | 园豆:1915 (小虾三级) | 2021-05-30 12:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册