我写的哪里错了
为什么总是输出的是1呢 题目是求e的x次方的泰勒展开式
#include<stdio.h>
#include<math.h>
main()
{
float x,n,ex,i,t,j;
scanf(“x=%f,n=%f”,&x,&n);
ex=1;
j=1;
for(i=1;i<=n;i++)
{for(t=1;t<=i;t++)
j*=t;
ex+=pow(x,i)/j;
}
printf(“ex=%f\n”,ex);}
>> 本文固定链接: http://www.vcgood.com/archives/1852
>> 转载请注明: aaronkingod 2007年10月02日 于 C语言帝国 发表
pow()返回的是double弄,所以你定义时,最好定义成为double弄,不然要类型转换
在输入double时,要用%lf
而且scanf()用法也错了,,我改了一下,你参考一下
void main()
{
double x, n,ex,i,t,j;
printf(“x = “);
scanf(“%lf”, &x);
printf(“n = “);
scanf(“%lf”, &n);
ex=1;
j=1;
for(i=1;i<=n;i++)
{
for(t=1;t<=i;t++)
j*=t;
ex+=pow(x,i)/j;
}
printf(“ex=%f\n”,ex);
}
double型,,哎,,用五笔的,打错了也不知道
谢谢,知道啦……呵呵
回复的真好,谢谢啊