用C语言编程解决算式1-1/2+1/3-1/4......+1/n是否收敛

设S1为1,S2为1-1/2,要求用S(n+1)-Sn<m, m很小来判断是否收敛

第1个回答  2014-11-04
#include <stdio.h>
#include <conio.h>
int main(){
    unsigned long i, n;
    double s, t;
    printf("Input n:");
    scanf("%ld",&n);
    for(i=1, s=0; i<=n; ++i){
        t=(i%2 ? 1.0 : -1.0)/i;
        s+=t;
    }
    printf("s=%.14lf\n",s);
    printf("\nFinished.\n");
    getch();
    return 0;
}

在TurboC++3.0中编译运行了,输入n=1000000,输出s=0.69314668056025,n=1000000000时,输出s=0.69314718006071,而ln(2)=0.69314718055995,可见极限值为ln(2)

第2个回答  2014-11-04
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int i;
double sum;
for(sum=0,i=1;i<100000000;i+=2)
sum+=1.0/i*1.0/(i+1);
printf("%.10f\n",sum);
}
验证结果收殓于ln2!本回答被网友采纳

c语言用函数编写:1-1\/2+1\/3-1\/4...+((-1)^(n+1))*(1\/n)
main()函数没有返回值 在fun函数中做除法运算时要对操作数进行double类型强转,否则整数间除法会出错。得到的值不准确。

C语言编程题,计算S=1-1\/2+1\/3-1\/4...+1\/m
由于你的n是int型,则1\/n是整数,程序中的1\/n或(-1)\/n一直是0,所以s一直都是0;将t=1\/n和t=(-1)\/n改为t=1\/(float)n和t=-1\/(float)n即可,即将n强制转换为float型,这样1\/n就可以表示为小数了。

c语言编程求1-1\/2+1\/3-1\/4+1\/5-1\/6+…….+1\/99-1\/100的值。 可不可以...
所以不对*\/ else \/\/分母是奇数用加 sum=sum+1.0\/i; } printf("结果等于%lf\\n",sum)}

C语言用while语句计算1-1\/2+1\/3-1\/4+...,直到最后一项的绝对值小于10...
term=sign*1.0\/n sign=-sign 当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。

C语言编写函数求:1-1\/2+1\/3-1\/4+1\/5-1\/6+...1\/n的值怎么做?结果是什么...
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:。int n = 100;double s;for (int i = 1; i <= n; i++)if (i % 2 == 0)s -= 1.0 \/ i;else s += 1.0 \/ i;printf("%lf", s);3、编译器运行test.cpp文件,...

c语言1-1\/2+1\/3-1\/4+1\/5-1\/6……请求出该多项式的前n项的和
=1 || n<1){\/\/限制输入的项数n是正整数printf("Input error, exit...\\n");return 0;}for(s=0,i=1;i<=n;s += i&1 ?

用C语言如何编写1-1\/2+1\/3-1\/4+…+(-1)(n+1次方)\/n
long double fun(int n);main(){ int n;printf("请输入n的值:\\n");scanf("%d",&n);printf("表达式的值为:%lf\\n",fun(n));} long double fun(int n){ long double result;if(n == 1){ return 1;} else { result = (long double)pow(-1,n+1)\/n;return result+fun(n-1...

C语言 编程计算1-1\/2+1\/3-1\/4+……±1\/n
double sum; \/* 各项之和 *\/ printf("input value of n : ");scanf("%d", &n);sum = 0.0;for(i=1; i<=n; i++){ sum += 1.0 * f \/ i;f *= -1; \/* t 在正负1之间切换 *\/ } printf("1-1\/2+1\/3-1\/4+ ... +-1\/n = %lf", sum);} 运行测试:...

C语言数列的求和1-1\/2+1\/3-1\/4...的编写
"%.2lf\\n",sum);}return 0;}再说题目。如果原题确实如你所写,那么应该是一直加下去,而不是让你输入项数。程序如下:include <stdio.h>int main(){double i,s=0,a=1;for(i=1;1\/i>=1e-6;i++){s+=a\/i;a=-a;}printf("s=%f",s);return 0;} ...

C语言中的求和问题 1\/1-1\/2+1\/3.。。。+1\/n
void main(){ int k;int i=1; \/\/对求和中的分母赋值 \/\/自增长的不能是float double sum; \/\/把sum当作和 int n=-1; \/\/符号变化 printf("请输入你想输入的N\\n");scanf("%d",&k); \/\/%d是输入整数 for(sum=0;i<=k;i++) \/\/用for循环来求和 { n=-n; \/\/外面...

相似回答