如何用C语言实现小数的保留

【C语言实现,不要用C++实现】
我想实现这样一个操作,输入一个数字n,能输出π的保留n位小数的结果

例如:
【输入】 3
【输出】 3.141

PI = 3.141592653589793
输入的n的范围是 0≤n≤15

#include<stdio.h>

int main(){
    float pi=3.141592653589793;
    int n;
    scanf("%d",&n);
    //请在此处添加代码
    return 0;
}
  1. 这种方法四舍五入了
#include<stdio.h>

int main()
{
    float pi=3.141592653589793;
    int n;
    scanf("%d",&n);
    printf("%.*f",n,pi);
    return 0;
}

img


  1. 这种不四舍五入
#include <stdio.h>
#include <math.h>
int main()
{
    float pi=3.141592653589793;
    int n;
    scanf("%d",&n);
    
    int int_pi = pi * pow(10, n);
    pi = int_pi / pow(10, n);
    
    printf("%.*f",n,pi);
    return 0;
}

img

前不久正好看过一个文章,说的就是这个问题
https://rationmcu.com/clang/2416.html