/*
Auuthor:Hur Date:19/5/9
功能:求1+1/2+1/3+...+1/n的和
*/
#include<stdio.h>
int main()
{
int n;
float sum=0; //sum求取的结果
printf("Please input n:");
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum+=1.0/i; //不可以写成1/i,否则都为整形,结果为0
}
printf("The sum is %.2f.",sum);
return 0;
}
/*
Auuthor:Hur Date:19/5/9
功能:求1-1/2+1/3-1/4+...+1/n的值
*/
#include<stdio.h>
int main()
{
int n;
float sum=0; //sum求取的结果
printf("Please input n:");
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(i%2==0){
sum+=-(1.0/i); //不可以写成1/i,否则都为整形,结果为0
}
else{
sum+=1.0/i;
}
}
printf("The sum is %.2f.",sum);
return 0;
}
本文介绍了使用C语言实现两个不同的求和算法。第一个算法计算从1到n的倒数和,第二个算法则计算从1到n的交错正负倒数和。通过用户输入的整数n,程序将展示如何正确处理浮点数运算,避免因整数除法导致的精度丢失。

被折叠的 条评论
为什么被折叠?



