c/c++语言开发共享如何在C中垂直打印?

我必须在一个循环中打印我想要以两行打印输出,而不是在一行上混合。

像这样:

printf("| %-7.2f ", Fahrenheit); 

产生:

 | -508.00 | -463.00 | -418.00 | -373.00 | -328.00 | -283.00 | 

当我添加printf("| %-6d", Celsius); 在上面的printf下面,它打印在我的第一个printf的中间/中间。

我希望输出如下:

 | -508.00 | -463.00 | -418.00 | -373.00 | -328.00 | -283.00 | | -300 | -275 | -250 | -225 | -200 | -175 | -150 | -125| 

而不是将两组值混合在同一条线上。

我的代码的一部分:

 for(Celsius = CelsiusMin;Celsius <= CelsiusMax; Celsius += CelsiusStep) { Fahrenheit = FahrenheitZero + Celsius * CelsiusToFahrenheit; printf("| %-7.2f ", Fahrenheit); printf("| %-6d", Celsius); } return EXIT_SUCCESS; } 

    你不能直接有一个printf()语句序列写入第1行,第二个并发序列的printf()语句写入第2行,所以你将不得不伪造它。

    您可能需要构建两行输出的东西,然后在它们准备好后打印它们:

     char line1[128]; char line2[128]; char *next1 = line1; char *next2 = line2; for (int c = -325; c <= -125; c += 25) { double f = (c + 40.0) * (9.0 / 5.0) - 40.0; next1 += sprintf(next1, "| %-7.2f ", f); next2 += sprintf(next2, "| %-7d ", c); } printf("%s|n", line1); printf("%s|n", line2); 

    样本输出:

     | -553.00 | -508.00 | -463.00 | -418.00 | -373.00 | -328.00 | -283.00 | -238.00 | -193.00 | | -325 | -300 | -275 | -250 | -225 | -200 | -175 | -150 | -125 | 

    转换公式比您所看到的通常更简单,并且对称将°F转换为°C或反之亦然,差异是转换因子(9.0 / 5.0)(5.0 / 9.0) 。 它依赖于-40°C = -40°F。 试试吧:

    你可以用摄氏度作为double打印来做得更好; 我保留了您选择的整数表示,但确保数字在两行上排成一行。

    仅供参考:绝对零度为-273.15°C,0K,-459.57°F。 所以你试图打印不存在的温度。

    您可以使用“ t”来对齐输出。

      以上就是c/c++开发分享如何在C中垂直打印?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519494.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐