首页 > 试题广场 >

求交错数列前n项和:输入一个正整数n,计算交错序列1-23

[问答题]

求交错数列前n项和:输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11+... 的前n项之和。试编写相应程序。

推荐
#include   
int main(void) {  
int n, flag = 1, numerator = 1, denominator = 1;  
double item, sum = 0;  
scanf("%d", &n);  
while(n--) {  
item = flag * numerator * 1.0 / denominator;  
sum += item;  
flag = -flag;   /* 正负交替 */  
numerator += 1;  
denominator += 2;  
}  
printf("%.3f\n", sum);  
return 0;  
} 

发表于 2018-05-06 21:18:47 回复(0)
#include<stdio.h>
#include<math.h>
int main(){
    int n,flag;
    double l;
    l=0;
    flag=1;
    printf("请输入正整数n:");
    scanf("%d",&n);
    for (int i = 1; i <= n; i++) {
        l=flag*i/(2.0*i-1)+l;
        flag=-flag;
    }
    printf("前n项和为%lf\n",l);
    return 0;
}


发表于 2020-10-02 23:12:50 回复(0)
#include<stdio.h>
#include<math.h> 

int main(){
    int n;
    float sum = 0;

    printf("please input value of a: ");
    scanf("%d", &n);
    if(n > 0){
        for(int i = 1; i <=n; i++){
            sum += pow(-1, i-1)*float(i)/(2*i-1);
        }
        printf("sum = %.2f", sum);
    }else{
        printf("invalid input");
    }

    return 0;
}
发表于 2018-06-02 02:17:38 回复(0)
#include "stdio.h"
int main(int argc, char *argv[])
{
    unsigned int  n;
    int i;
    float sum = 0;
    printf("请输入正整数n:");
    scanf("%d", &n);
    if (n == 1)
        sum = 1;
    else
    {
        sum = 1;
        for (i = 2; i <= n; i++)
        {
            if(i%2==0)
                sum += -(float)i / (1 + 2 * (i - 1));
            else
                sum += (float)i / (1 + 2 * (i - 1));
        }
    }
    printf("sum=%f\r\n", sum);
    system("pause");
    return 0;
}
发表于 2018-08-18 11:23:39 回复(0)