输出时不显示后面的零

double类型输出总是带一串0 怎么让double的输出没有后面的0
代码
#include
int main()
{
    double n,x,y;
    scanf("%lf %lf %lf",&n,&x,&y);
    printf("%lf,%lf,%lf",n,x,y);
    return 0;
}
运行结果
2.12
3.2145
2.134569
2.120000,3.214500,2.134569
我想要的结果
2.12
3.2145
2.134569
2.12,3.2145,2.134569
//把%lf换成%g
#include<stdio.h>
int main()
{
    double n,x,y;
    scanf("%lf %lf %lf",&n,&x,&y);
    printf("%g,%g,%g",n,x,y);
    return 0;
}

printf("%#f",…)

用%g试试吧