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 分)