趣味编程:静夜思

题目要求:把一段字符串用“右起竖排”的古文格式输出

例:

输入:

床前明月光疑是地上霜举头望明月低头思故乡

输出:

低|举|疑|床
头|头|似|前
思|望|地|明
故|明|上|月
乡|月|霜|光

C#解法:

using System;  
using System.Linq;  
using System.Text;  
  
namespace ConsoleApplication1  
{  
    class Program  
    {  
        static void Print(string text, int offset)  
        {  
            text  
                .Select((c, i) => new { Char = c, Index = i })  
                .GroupBy(p => p.Index % offset, p => p.Char.ToString())  
                .ToList()  
                .ForEach(g => Console.WriteLine(string.Join("|", g.Reverse().ToArray())));  
        }  
  
        static void Main(string[] args)  
        {  
            Print("床前明月光疑是地上霜举头望明月低头思故乡", 5);  
        }  
    }  
}

参考:http://blog.csdn.net/zwvista/article/details/5491393


第一眼看到这个题,被题目所吸引,等看到代码,发现代码写的如此的简练,虽个人有些C#基础,但又被代码所折服!故转

分析:

编号:

床1a
前2b
明3c
月4d
光5e
疑6a
是7b
地8c
上9d
霜10e
举11a
头12b
望13c
明14d
月15e
低16a
头17b
思18c
故19d
乡20e

分组:
床1a 疑6a  举11a  低16a
前2b 是7b  头12b  头17b
明3c 地8c  望13c  思18c
月4d 上9d  明14d  故19d
光5e 霜10e 月15e  乡20e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值