有没有办法在C中打印以下模式?注意中间没有空格

是否可以按原样打印此图案,星号之间没有空格?

回答

这不是真正的 C 问题,而是目标设备问题。如果您正在写入图形设备,那么您当然可以绘制设计。如果您正在处理字符设备,那么就成为可能支持哪些字体/字符集的问题。例如,许多设备将允许您使用位图或自定义等宽 TrueType/OpenType 字体指定自定义字符集。

为了让我说明我在说什么,假设“<”代表星号的左半部分,“>”代表右半部分,自定义设备上的一个字符在这里用 2 个字符表示。

设计4个自定义位图字符:

  1. 一个完整的星号: '<>'
  2. 左半星号:(' <' “邻接”字符单元格的右侧)
  3. 右半星号:('> '紧靠字符单元格的左边缘)
  4. 右半/左半: '><'

在下图中,有“设备”5 个字符的列。这 5 列在这里用 2 个字符表示,每个字符带有“|” 分隔设备列的字符,使列更容易可视化(它们不会出现或占用设备显示屏上的空间)。现在您的图像将像这样创建:

| 1| 2| 3| 4| 5|  column numbers
+--+--+--+--+--|
|<>|<>|<>|<>|<>|  a row of 5 "normal" asterisk characters
| <|><|><|><|> |  a row of 4 made up of various "half-asterisk" characters
|  |<>|<>|<>|  |  a row of 3 normal asterisks
|  | <|><|> |  |  2 asterisks made up of half-asterisks characters
|  |  |<>|  |  |  1 normal asterisk
+--+--+--+--+--+

没有“|” 字符以帮助可视化列,此显示将如下所示:

<><><><><>  a row of "normal" asterisk characters
 <><><><>   a row of various "half-asterisk" characters
  <><><>    a row of normal asterisks
   <><>     half-asterisks
    <>      a normal asterisk

这种技术类似于使用包含“框绘图”字符的字符集之一绘制图表:https : //en.wikipedia.org/wiki/Box-drawing_character


以上是有没有办法在C中打印以下模式?注意中间没有空格的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>