c語言求級數
A. c語言級數求和題
#include"stdio.h"
intmain()
{
intsum=0;
inti,mark=1,item;
for(i=1;;i++)
{
item=mark*i*(i+1);
sum+=item;
mark=-mark;
if(sum>999&&i%2==1)
break;
}
printf("i=%d,sum=%d ",i,sum);//i表示哪一項,sum表示此時各項之和
}
B. c語言編程題 輸入n x 求級數和
#include <stdio.h>
main()
{
int i,j,x,n;
float t,fz,fm,s=0;
scanf("%d%d",&x,&n);
for(i=0;i<n;i++)
{fz=fm=1.0;
for(j=1;j<=i;j++)
{fz*=x;
fm*=j;
t=fz/fm;
}
s+=t;
}
printf("%f",s);
}
C. C語言中求級數和
你前面寫的那個式子就有問題,怎麼又7+8+9了?
從程序來看,最裡面的循環是求每一個加數,例如N為5,那麼就有5個加數,分5次循環求得這5個加數。由於第一個加數是1,所以循環中沒有求第一個加數,而是直接從第二個加數開始求,這也就是你所問的t=1時,f=2,由於j從0循環到i(包含),也就是,也就是i+1個數相乘,例如i=1時,所求加數就是2*3
j就是一個循環控制變數,控制乘數的大小
外面一層循環就是將加數求和
D. 求大神如何用c語言計算級數
我記得當時老師教的是聲明一個子程序單獨算每一項。然後在主程序裡面重復調用。
E. 編程求級數的程序怎麼寫C語言的
#include <stdio.h>
#include <math.h>
int main(void)
{
double f = 1;
double x, k, x2, power = 1;
int i = 2;
scanf("%lf", &x);
power += x;
k = x;
do {
x2 = power;
f *= i++;
x *= k;
power += x / f;
} while(fabs(power-x2) > 1e-8);
printf("%f", power);
}
/////////////////////////
你那個代碼,1、pow函數可以不用自己寫,你寫的精度也不夠;2、保存階乘最好用double,不然要溢出。
修正了以上2點就沒問題了,代碼如下:
#include <stdio.h>
#include <math.h>
double f1(int n)
{
double s = 1;
int i;
for ( i=1; i<=n; i++)
s *= i;
return s;
}
main()
{
int x,i, n;
double ex = 1;
scanf("%d%d",&x,&n);
for ( i=1; i<=n; i++)
ex += pow(x, i) / f1(i);
printf("%lf %lf\n",ex, exp(x));
}
F. C語言計算無窮級數
#include<stdio.h>int main(){int i; double x=0,t=1,y=1; scanf("%lf",&x); for(i=1;t>=0.0001;i++) {t*=x/i; if(i%2)y+=t; else y-=t; } printf("%.4lf",y); return 0;}
G. c語言求級數 程序分析
你的fun函數返回類型寫錯了,s是double型的,而fun定義的是int型的,把int fun()改成double fun()就可以了。
H. C語言級數求和
#include"stdio.h"/////////不知道是否正確,希望有幫助.
double x;
double jiecheng(double a){//介乘。
double i=0;
double r=1;
for(i=1;i<(a+1);i++)
r=i*r;
return r;
}
double pf(double a){
static p=0;
double r;
p++;
r=x*a/(jiecheng(a));
if(p%2==0)
return r*-1;
else
return r;
}
void main()
{
int i=1;
double r=0;
scanf("%lf",&x);
for(i=1;i<1000;i+=2)
r=r+pf(i);
printf("%.6lf\n",r);
}
I. C語言之編求級數第n項的函數
1+3+5+...+(2n-1) = n(1+2n-1)/2 = n^2
1^2+2^2+3^2+n^2 = n(n+1)(2n+1)/6
所以編程實現的話如下:
#include"stdio.h"
intmain()
{
intn,ret;
printf("pleaseinputaintegern:");
scanf("%d",&n);
while(n>0)
{
ret=n*(n+1)*(2*n+1)/6;
printf("result:%d ",ret);
printf("pleaseinputaintegern:");
scanf("%d",&n);
}
return0;
}
J. C語言求級數的問題
#include<stdio.h>
#include<math.h>
voidmain(){
inti;doublex,k=1,s=0;
scanf("%lf",&x);
for(i=0;abs(k/(i*2+1))>=1e-6;i++)
{
i==0?k*=x:k*=-x*x/i;
s+=k/(i*2+1);
}
printf("s(x)=%lf",s);
}