繁体   English   中英

格式化printf

[英]Formatting for printf

我遇到了一个问题,我应该找到数字1到20的阶乘。我完成了,但是在示例中,我将控制台的格式设置为具有视觉吸引力。 这是我给的例子。 白盒子在那里,因为我应该自己找到答案。 因此可以忽略。

正确的例子

这就是我的模样。

我的例子

除了printf,我们没有得到其他任何教育,所以我不知道有什么替代方法。

这是我的代码。

long long lngFactoral = 1;
int intNumber = 1;

for (int intIndex = 1; intIndex <= 20; intIndex ++ )
{
    lngFactoral = lngFactoral * intIndex;
    printf("%d! = %lli ", intIndex, lngFactoral);

    intIndex++;

    lngFactoral = lngFactoral * intIndex;
    printf("                          %d! = %lli \n", intIndex, lngFactoral);
}

您可以在printf中设置字段宽度。 您将必须使用设置字段宽度的整数值,使用格式说明符指定宽度。 例如,“%5d”或“%10d”。

如果要打印的值小于此数字,则结果将用空格填充。

在您的情况下,您可以按以下方式修改printf

第一条printf语句:

 printf("%2d! = %20lli ", intIndex, lngFactoral);

第二个printf语句:

printf("   %2d! = %20lli \n", intIndex, lngFactoral);

左侧的%2d是因为您仅找到2位数字的阶乘,所以我们将设置字段宽度2。

同样,在右侧使用%20d ,因为最大数字20的阶乘永远不会超过20位。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM