gpt4 book ai didi

c - 如何将 %d 作为十进制整数与 %f 在同一行中使用?

转载 作者:行者123 更新时间:2023-12-02 18:58:12 25 4
gpt4 key购买 nike

我想设计一个函数来打印 float Y 的小数点后的前 X 位(其中 X 是整数)(从 0 到 X)。print_num(12.123456,4)应该给出:

   12.0000000
12.1000000
12.1200000
12.1230000
12.1234000

这是我尝试编写的一个程序:

#include<stdio.h>
void printplaces(float N,int X)
{
for(int i =0;i<=X;i++)
{
printf("%.%df\n",N,i);
}
}
void main()
{
printplaces(23.23423342,5);
}

但它只是按原样打印输出:

%df
%df
%df
%df
%df
%df

我想知道如何将 %d 用作整数,并与 %f 在同一行上。

最佳答案

您可以使用* 代替精度。然后你可以向它传递一个 int 参数:

printf("%.*f\n", i, N);

这不会打印任何尾随零,但您可以按如下方式添加:

for (i=0;i<X;i++) {
printf("%#.*f", i, N);
if (i<X) printf("%0*d", X-i, 0);
printf("\n");
}

关于c - 如何将 %d 作为十进制整数与 %f 在同一行中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65924470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com