JIENANYA 2021-11-08 15:13 采纳率: 66.7%
浏览 37
已结题

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;
}

谢谢

展开全部

  • 写回答

1条回答 默认 最新

  • 「已注销」 2021-11-08 15:31
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月9日
  • 创建了问题 11月8日