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