long double 类型输出方法和这个类型是否存在

我在处理oj上第100题(普通题)的时候。虽然不懂这个利息到底该怎么算,他这算法好奇怪。但是从没通过的例子中我发现了其他问题——一个足够长的实数,保留两位小数输出。
我自然而然想到了long double型。
(其他方法输出小数或者计算该题,我都没思路,该题他给的解释太奇怪了,没整懂)
但是一直输出错误,然后我查阅了CSDN,发现有说可以用%Lf或者%LF输出的,我用devc++编译器试了一下,发现不行。
以下是我在CSDN上找到的一些解释(虽然用着不对)

img


img


img


以下困惑我的题和我的代码(希望能够帮助你做测试和解答)

img

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    long double n, sum=0;
    int i=6;
    cin>>n;
    if(n>=1 && n<=10000){
        while(i--){
            n = (100+sum)*1.00417;//我没懂这道题,所以按自己想法写的
            cout<<n<<endl;
            sum = n;
        }
        cout<<n<<endl;//测试
        printf("%lf ",n);//测试,输出是错的
        printf("%.2Lf", n);//测试,输出是错的
    }
    return 0;
}

谢谢

应该是 : n = (n+sum)*1.00417; n是初始存钱数啊