请选择 进入手机版 | 继续访问电脑版

新年来了,打印“2023”吧

电脑技术 电脑技术 3240 人阅读 | 15 人回复 | 2022-11-21

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Screenshot 2022-11-21 054225.png



https://dotnetfiddle.net/15ih29

  1.                 UInt64[] font=new UInt64[4];
  2.                 font[0]=9079822539999444480;
  3.                 font[1]=9097907049588751872;
  4.                 font[2]=font[0];
  5.                 font[3]=9079822538955193856;
复制代码


给大家猜一猜,知道为什么这个程序只有庞大数目却能打印“2023”大大个字?

找遍这个源码,保证你找不到“2023”:

  1. public class Program
  2. {
  3.         public static void Main()
  4.         {
  5.                 UInt64[] font=new UInt64[4];
  6.                 font[0]=9079822539999444480;
  7.                 font[1]=9097907049588751872;
  8.                 font[2]=font[0];
  9.                 font[3]=9079822538955193856;
  10.                 string[] line=new string[5];

  11.                 for (int b=0; b<4; b++)
  12.                 {
  13.                         for (int a=63; a>0; a--)
  14.                         {
  15.                                 if ((font[b] >> a << 63 >> 63)==1)
  16.                                         line[b] += "*";
  17.                                 else
  18.                                         line[b] += " ";                       
  19.                                 if ((a+1) % 8==0)
  20.                                         line[b] += "\r\n";
  21.                         }
  22.                         line[b] += "\r\n";
  23.                 }
  24.                
  25.                 for (int a=0; a<8; a++)
  26.                 {
  27.                         for (int b=0; b<4; b++)
  28.                         {
  29.                                 for (int c=0; c<8+2; c++)
  30.                                 {
  31.                                         if (line[b][c+(a*(8+2))] != '\r' & line[b][c+(a*(8+2))] != '\n')
  32.                                                 line[4] += line[b][c+(a*(8+2))];
  33.                                 }
  34.                                
  35.                                 line[4] += "    ";
  36.                         }
  37.                        
  38.                         line[4] += "\r\n";
  39.                 }               
  40.                 Console.Write(line[4]);       
  41.         }
  42. }
复制代码


  1. ******      ******      ******      ******     
  2.       *      *    *           *           *     
  3.       *      *    *           *           *     
  4. ******      *    *      ******      ******     
  5. *           *    *      *                *     
  6. *           *    *      *                *     
  7. ******      ******      ******      ******
复制代码


有谁也想试一试?

评分

参与人数 1钻石 +50 收起 理由
legs+ + 50 赞一个!

查看全部评分

回答|共 15 个

simonzhd

simonzhd 发表于 2022-11-21 18:13:02| 字数 50 | 显示全部楼层

哈哈,这种字符的排列蛮有趣,但比较容易错位,比如我在带鱼屏上看到的是:
QQ图片20221121180736.png

能用canvas画出来就更好了

孤星11

孤星11 发表于 2022-11-21 18:49:57| 字数 134 | 显示全部楼层

simonzhd 发表于 2022-11-21 18:13
哈哈,这种字符的排列蛮有趣,但比较容易错位,比如我在带鱼屏上看到的是:

能用canvas画出来就更好了

咦,怎么会那样错位的??毫无头绪,我这里看到的是OK的,而且那只是长长的字符串,怎么可能会错位啊...... 不明白。

simonzhd

simonzhd 发表于 2022-11-21 18:52:00| 字数 122 | 显示全部楼层

孤星11 发表于 2022-11-21 18:49
咦,怎么会那样错位的??毫无头绪,我这里看到的是OK的,而且那只是长长的字符串,怎么可能会错位啊.... ...

我在https://dotnetfiddle.net/15ih29这张网页里看到的是错位的

孤星11

孤星11 发表于 2022-11-21 18:57:00| 字数 90 来自手机 | 显示全部楼层

simonzhd 发表于 2022-11-21 18:52
我在https://dotnetfiddle.net/15ih29这张网页里看到的是错位的

那你有按Run吗? 可以按Run运行吗?

simonzhd

simonzhd 发表于 2022-11-21 19:24:46| 字数 43 | 显示全部楼层

孤星11 发表于 2022-11-21 18:57
那你有按Run吗? 可以按Run运行吗?

按了

孤星11

孤星11 发表于 2022-11-21 19:26:33| 字数 95 | 显示全部楼层


啊哈,可能是那个网站出的问题,我现在在下载Visual Studio准备在电脑试运行,我觉得是那个网站出错,等会我再在这里更新最新进展。

孤星11

孤星11 发表于 2022-11-21 19:34:40| 字数 60 | 显示全部楼层



捏了一把冷汗,还好我的代码是正确的,确实是那个网站出了错位问题。

Screenshot 2022-11-21 193350.png

蓝莓糖

蓝莓糖 发表于 2022-11-28 09:35:45| 字数 4 来自手机 | 显示全部楼层

好棒好棒

孤星11

孤星11 发表于 2022-11-29 01:44:15| 字数 31 | 显示全部楼层


谢谢蓝莓糖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则