c语言程序题。编写程序计算调和级数的前N项和。要求结果是一个准确的分数A/B形式。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言程序题。编写程序计算调和级数的前N项和。要求结果是一个准确的分数A/B形式。相关的知识,希望对你有一定的参考价值。

H=1/1+1/2+1/3+……+1/n


#include <stdio.h>

long u, v;

void addrat(int, int);

void lowterm();

int main()

    int n, nterm;

    printf("请输入项数:");

    scanf("%d", &n);

    if (n<=0)

        printf("输入错误!\\n");

    else if(n==1)

        printf("1/1\\n");

    else

   

        u = 1;

        v = 1;

        for (nterm=2; nterm<=n; nterm++)

       

            addrat(1, nterm);

            lowterm();

            printf("%d/%d\\n", u, v);

       

   

    return 0;

void addrat(int a, int b)

    u = u*b + a*v;

    v *= b;

void lowterm()

    long numcopy, dencopy, remainder;

    numcopy = u;

    dencopy = v;

    while(dencopy!=0)

   

        remainder = numcopy%dencopy;

        numcopy=dencopy;

        dencopy=remainder;

   

    if(numcopy>1)

   

        u /= numcopy;

        v /= numcopy;

   

参考技术A 呵呵,楼主,c语言数值结果我没有听说过有分数形式的,有整型和浮点型。呵呵,或许你会说我傻逼,但这是真的,结果没有分数形式的。这个程序很简单,有问题请追问,下面的是代码!
#include<stdio.h>
void main()

int i,n,H=0;
scanf("%d",&n);
for(i=1;i<=n;i++)

H=H+1/i;

printf("%d",H)
追问

我也知道程序简单,但是关键是分数写不出来。

追答

呵呵。我一定说过了,c语言不支持输出分数的,你的这道题是在哪弄的?

追问

教科书啊,今晚的作业

参考技术B 这个嘛,随便找一下都出来了,没工夫编

2-4 求交错序列前N项和

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,结果保留三位小数。

输入样例:

5
 

输出样例:

0.917


#include <stdio.h>
#include <math.h>
int main()
{
    int n,i;
    double sum=0;    
    scanf("%d",&n);
    for (i=1;i<=n;i++){
        sum+=pow(-1,i+1)*i/(2*i-1); //pow存在于<math.h>中,用来计算幂函数的,pow(2,3)指2的3次方
    }
    printf("%.3f",sum);
    
    return 0;
}

 

以上是关于c语言程序题。编写程序计算调和级数的前N项和。要求结果是一个准确的分数A/B形式。的主要内容,如果未能解决你的问题,请参考以下文章

浙大版《C语言程序设计(第3版)》题目集 练习4-7 求e的近似值 (15 分)

c语言中,。编写程序求斐波那契数列的第n项和前n项之和。大家看好是【第】n项的值和前n项的合= =。

C语言如何用数组求Fibonacci数列的前N项和

用Java编写程序,求n!

2-4 求交错序列前N项和

2-4 求交错序列前N项和