new-link关于课程表的问题,我想再加一个表头,请问怎么做?

问题描述

link关于课程表的问题,我想再加一个表头,请问怎么做?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[] courses = { "体育课", "体育课", "美术课", "音乐课", "劳动课", "语文课", "数学课", "英语课"};
var result = Enumerable.Range(0, 5).Select(_ => Enumerable.Range(0, 6).Select(__ => "").ToArray()).ToArray();
while (!result.All(x => x.Contains("语文课") && x.Contains("数学课") && x.Contains("英语课") && x.Contains("自修课")))
{
var rndseq = Enumerable.Range(0, 30).OrderBy(_ => Guid.NewGuid()).Zip(courses, (x, y) => new { x, y }).ToArray();
for (int i = 0; i < 5; i++)
{
int pos = 0;
string[] cs = { "语文课", "数学课", "英语课" };
for (int j = 0; j < 6; j++)
{
if (rndseq.Any(x => x.x == i * 6 + j))
result[i][j] = rndseq.First(x => x.x == i * 6 + j).y;
else
result[i][j] = (pos++ < 3) ? cs[pos - 1] : "自修课";
}
}
}
result = result.Select(x => x.OrderBy(y => y == "自修课" ? 1 : 0).ThenBy(_ => Guid.NewGuid()).GroupBy(y => y).SelectMany(y => y).ToArray()).ToArray();
for (int j = 0; j < 6; j++)
{
for (int i = 0; i < 5; i++)
{
Console.Write(result[i][j] + "t");
}
Console.WriteLine();
}
}
}
}

解决方案

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] courses = { "体育课", "体育课", "美术课", "音乐课", "劳动课", "语文课", "数学课", "英语课" };
            string[] xinqi = { "一", "二", "三", "四", "五" };
            var result = Enumerable.Range(0, 5).Select(_ => Enumerable.Range(0, 6).Select(__ => "").ToArray()).ToArray();
            while (!result.All(x => x.Contains("语文课") && x.Contains("数学课") && x.Contains("英语课") && x.Contains("自修课")))
            {
                var rndseq = Enumerable.Range(0, 30).OrderBy(_ => Guid.NewGuid()).Zip(courses, (x, y) => new { x, y }).ToArray();
                for (int i = 0; i < 5; i++)
                {
                    int pos = 0;
                    string[] cs = { "语文课", "数学课", "英语课" };
                    for (int j = 0; j < 6; j++)
                    {
                        if (rndseq.Any(x => x.x == i * 6 + j))
                            result[i][j] = rndseq.First(x => x.x == i * 6 + j).y;
                        else
                            result[i][j] = (pos++ < 3) ? cs[pos - 1] : "自修课";
                    }
                }
            }
            result = result.Select((x, i) => new string[] { "星期" + xinqi[i] }.Concat(x.OrderBy(y => y == "自修课" ? 1 : 0).ThenBy(_ => Guid.NewGuid()).GroupBy(y => y).SelectMany(y => y)).ToArray()).ToArray();
            for (int j = 0; j < 7; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    Console.Write(result[i][j] + "t");
                }
                Console.WriteLine();
            }
        }
    }
}

解决方案二:

星期一 星期二 星期三 星期四 星期五
体育课 英语课 音乐课 数学课 语文课
语文课 英语课 语文课 数学课 美术课
劳动课 语文课 体育课 语文课 英语课
英语课 数学课 英语课 语文课 数学课
数学课 自修课 数学课 英语课 自修课
自修课 自修课 自修课 自修课 自修课
Press any key to continue . . .

时间: 2024-08-18 06:42:34

new-link关于课程表的问题,我想再加一个表头,请问怎么做?的相关文章

link环境下开发一款《订餐软件》,请问怎么做才能实现每日业务流水的查看和汇总?

问题描述 link环境下开发一款<订餐软件>,请问怎么做才能实现每日业务流水的查看和汇总? link环境下开发一款<订餐软件>,请问怎么做才能实现每日业务流水的查看和汇总? 解决方案 如果你已经有数据库了,那么查看和汇总很简单,用gridview就可以搞定. 参考以下:http://www.cnblogs.com/wuyuanbo/archive/2009/09/27/1575111.htmlhttp://www.jb51.net/article/16455.htmhttp://b

eclipse-问一下,,我eclisp关联了一个第三方库,我想再关联一个,或者将另一个移到工程里,怎么弄

问题描述 问一下,,我eclisp关联了一个第三方库,我想再关联一个,或者将另一个移到工程里,怎么弄 问一下,,我eclisp关联了一个第三方库,我想再关联一个,或者将另一个移到工程里,怎么弄?而且在我给libs放入jar包.clean不生成gen目录,没有R文件.报错 解决方案 如果是jar直接放在libs下面就好了,没有R一般是布局文件问题,仔细找找,如果是源码直接导入工程,在属性里面设置其Is Library前面打勾保存 在想要应用的工程属性里面添加一下就好了 解决方案二: http://

我想从一个网页上扒取一个自定义控件请问怎么做?

问题描述 我想从一个网页上扒取一个自定义控件请问怎么做? 解决方案 解决方案二:js控件可以,看网页源代码就可以.服务器控件没有办法解决方案三:应该是JS控件,但是我看不大懂他的代码.有什么好办法吗.解决方案四:看不懂代码没关系..会用就可以了...js控件好偷.解决方案五:问题是我现在不知道怎么让他变成我的啊.求高手帮忙.

我想在Launcher中,直接通过代码来加一个widget,如何做呢?

问题描述 我的代码如下:错误出现在try里面的mAppWidgetManager.bindAppWidgetId(appWidgetId, xmicIntent.getComponent()): 错误为: ERROR/AndroidRuntime(335): Caused by: java.lang.reflect.InvocationTargetException请教各位高人,错的原因是什么呢?要如何改呢Intent xmicIntent = new Intent(Intent.ACTION_

link 中不知道循环层数,要实现&amp;amp;lt;选N,请问怎么做?

问题描述 link 中不知道循环层数,要实现<选N,请问怎么做? link 中不知道循环层数,要实现<选N,请问怎么做? 解决方案 http://bbs.csdn.net/topics/390550326 解决方案二: 利用递归实现动态指定循环层数 解决方案三: 肯定是递归,要有一个退出条件就行了

link环境下制作一款《订餐软件》,请问我想实现门店的记账统计功能,怎么构思?

问题描述 link环境下制作一款<订餐软件>,请问我想实现门店的记账统计功能,怎么构思? link环境下制作一款<订餐软件>,请问我想实现门店的记账统计功能,怎么构思? 解决方案 参考:http://wenku.baidu.com/link?url=nq9RH2ts87fRnnMKOPQ5sEwwZBBdNBtExXsfwljBcHCGZ3N126_K2Fd7vPhRQNWXMZwvA1ChBsVw69982kqKAYEtI0S4XLj6zJVIkP7Nvc_ 解决方案二: 先用数

link关于课程表的问题,如何将产生的课程表转换成DataTable?

问题描述 link关于课程表的问题,如何将产生的课程表转换成DataTable? link关于课程表的问题,如何将产生的课程表转换成DataTable? 解决方案 DataTable dt = new DataTable(); dt.Columns.AddRange(result[0]); foreach (var item in result.Skip(1)) { var row = dt.NewRow(); for (int i = 0; i < 5; i++) row[i] = item[

link环境下制作一款《订餐软件》,请问我想拆库的同时还要保持数据的完整,怎么实现?

问题描述 link环境下制作一款<订餐软件>,请问我想拆库的同时还要保持数据的完整,怎么实现? link环境下制作一款<订餐软件>,请问我想拆库的同时还要保持数据的完整,怎么实现? 解决方案 要保持数据的完整,你需要根据你的业务需要复制这些共享的数据. 比如你的全局的数据.用户账户.编码等等. 解决方案二: http://bbs.chinaunix.net/viewthread.php?tid=188100

link环境下制作一款《订餐软件》,请问如何实现合并账套以后的反合并?如何撤销合并?

问题描述 link环境下制作一款<订餐软件>,请问如何实现合并账套以后的反合并?如何撤销合并? link环境下制作一款<订餐软件>,请问如何实现合并账套以后的反合并?如何撤销合并? 解决方案 那么你需要记录下你的每一步操作,这样才可以撤销操作. 解决方案二: 合并时,多一个标志说明是哪一个合并前表格的项,这样无论是查询.还是撤销合并都可以. 解决方案三: 合并账套以后的反合并?如何撤销合并? 建议帐套不要用多个数据库来实现,这样的话合并以后反合并麻烦,你可以通过一个数据库里表上采用