首页 新闻 会员 周边 捐助

输出9行9列表格且含0到80递增数字的算法。

0
悬赏园豆:10 [已解决问题] 解决于 2013-02-24 16:07
            int m = 0;
            int n = 9;
            StringBuilder sb = new StringBuilder();
            sb.Append("<table border=\"1\">");
            for (int j = 0; j < 9; j++)
            {
                sb.Append("<tr>");
                for (int i = m; i < n; i++)
                {
                    sb.Append("<td>" + i + "</td>");
                }
                sb.Append("</tr>");
                m = m + 9;
                n = n + 9;
            }
            sb.Append("</table>");

            Response.Write(sb.ToString());

 输出如下:

0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53
54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80

想请教有比以上更好的算法吗???

Ewin的主页 Ewin | 初学一级 | 园豆:17
提问于:2013-02-18 22:07
< >
分享
最佳答案
1
StringBuilder html = new StringBuilder(200);

html.Append("<table border=\"1\">");

for (int i = 0; i < (9 * 9) / 3; i++)
{
    if (i % 3 == 0) html.Append("<tr>");

    html.AppendFormat("<td>{0}</td>", i * 3);
    html.AppendFormat("<td>{0}</td>", i * 3 + 1);
    html.AppendFormat("<td>{0}</td>", i * 3 + 2);

    if (i % 3 == 2) html.Append("</tr>");
}

html.Append("</table>");

  没测试过,肯定比你那个快。但是不容易扩展

收获园豆:10
WilsonPan | 菜鸟二级 |园豆:233 | 2013-02-19 16:50

性能不错,就是不够灵活。

Ewin | 园豆:17 (初学一级) | 2013-02-19 18:02

@Ewin: 性能和灵活往往是互斥,这个要根据实际情况权衡

WilsonPan | 园豆:233 (菜鸟二级) | 2013-02-20 09:16
其他回答(6)
0

我可以回答没有吗!!!

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-02-18 23:39

应该有更好的方法吧,哈哈

支持(0) 反对(0) Ewin | 园豆:17 (初学一级) | 2013-02-19 11:01
0

不错!

jone_e | 园豆:1410 (小虾三级) | 2013-02-19 11:48
0

路过,简单实用

卒子 | 园豆:588 (小虾三级) | 2013-02-19 13:33
0

我觉得应该没有了吧。。。最简单的算法无非就是一个一个填入。。。

飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-02-19 14:37
0

这个算法很简单了 

yellowshorts | 园豆:162 (初学一级) | 2013-02-19 15:51
0

int column = 9;
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
for (int i = 0; i < 81; i++)
{
if (i % column == 0)
{
sb.Append("<tr>");
}

sb.AppendFormat("<td>{0}</td>",i);

if (i % column == 8)
{
sb.Append("</tr>");
}
}

.! | 园豆:402 (菜鸟二级) | 2013-02-25 05:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册