c语言程序题.编写程序计算调和级数的前N项和.要求结果是一个准确的分数A/B形式.H=1/1+1/2+1/3+……+1/n
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 18:47:03
c语言程序题.编写程序计算调和级数的前N项和.要求结果是一个准确的分数A/B形式.H=1/1+1/2+1/3+……+1/n
c语言程序题.编写程序计算调和级数的前N项和.要求结果是一个准确的分数A/B形式.
H=1/1+1/2+1/3+……+1/n
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;
}
}