很简单的题,还以为是高精度计算,完全没必要。只是数字后面的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();
}*/
最简单的方式就是先将结果按九位精度输出,然后用字符串保存,输出。注意二维字符数组的使用方式。
posted on 2012-02-22 18:07
小鼠标 阅读(170)
评论(0) 编辑 收藏 引用