关于计算方法的误差分析
如何用Python实现一下C语言代码#include "stdio.h"
#include "math.h"
float I0=log(6)-log(5);
float I1;
int n=1;
int main()
{
printf("I0=%f\r\n",I0);
while(n<=20)
{
I1=1.0/n-5*I0;
printf("I%d=%f\r\n",n,I1);
I0=I1;
n++;
}
return 0;
}
本帖最后由 jackz007 于 2021-10-28 01:53 编辑
import math
I0 = math . log(6) - math . log(5)
print('I00 = %f' % I0)
n = 1
while n <= 20:
I1 = 1 / n - 5 * I0
print('I%02d = %f' % (n , I1))
I0 = I1
n += 1
C 代码的变量 I0、I1 不能是 float,应该是 double:
#include <stdio.h>
#include <math.h>
double I0 = log(6)-log(5) ;
double I1 ;
int n = 1 ;
int main()
{
printf("I0=%lf\n" , I0) ;
while(n<=20)
{
I1 = 1.0 / n - 5 * I0 ;
printf("I%d = %lf\n" , n , I1) ;
I0 = I1 ;
n ++ ;
}
return 0;
}
只有这样,C 和 Python 代码的输出才能较好地一致起来。
页:
[1]