HOJ1012u Calculate e

HOJ1012u Calculate e
很简单的题,还以为是高精度计算,完全没必要。只是数字后面的0要消掉,不过oj似乎有问题,n=8时末尾0没有消,有点扯淡啊。
#include < stdio.h >
char  rs[][ 15 =  
{
    
"0 1",
    
"1 2",
    
"2 2.5",
    
"3 2.666666667",
    
"4 2.708333333",
    
"5 2.716666667",
    
"6 2.718055556",
    
"7 2.718253968",
    
"8 2.718278770",
    
"9 2.718281526"
}
;
int  main()
{
    
int i;
    printf(
"n e\n");
    printf(
"- -----------\n");
    
for(i = 0; i < 10; i++)
        printf(
"%s\n", rs[i]);    
    
//getchar();
}

/**/ /*int nn(int n) 
{
    int i, sum = 1;
    for(i = 1; i <= n; i++)
        sum *= i;
    return sum;
}
double ii(int i)
{
    return 1.0 / nn(i);
}
int main()
{
    int i, j;
    double e;
    for(j = 0; j <= 9; j++)
    {
        e = 0.0;
        for(i = 0; i <= j; i++)
        {
            e += ii(i);
        }
        printf("%d %.9lf\n", j, e);
    }
    getchar();
}
*/



最简单的方式就是先将结果按九位精度输出,然后用字符串保存,输出。注意二维字符数组的使用方式。

你可能感兴趣的:(HOJ1012u Calculate e)