C语言1⼀1+1⼀2+1⼀3...+1⼀n,求和

2024-12-27 10:15:57
推荐回答(5个)
回答1:

1、首先初始化代码段:int i,s1=0,s2=0,s3=0;。

2、使用for语句实现:代码段:for(i=1;i<=10;i++)//for语句部分{s1+=i;}printf("s1=%d\n",s1);。

3、使用while语句实现:代码段。

4、接着使用do..while语句实现。

5、最后运行结果:S1=55;S2=55;S3=55;结果运行都是正确的,这样就完成了。

回答2:

你好!

你的算法是对的,

但是要把 printf("%f\n",s); 里面的 %f 改成 %lf

还有要把 scanf("%f",n); 里面的 %f 改成 %lf

完整的代码是:

#include 
int main()
{
    double n,i,s=0.0;
    scanf("%lf",&n); 
    for(i=1; i<=n ;i++)
    {
             s=s+1/i;
    }
    printf("%lf\n",s);
    return 0;
}

回答3:

#include
void main()
{ int k;
int i=1; //对求和中的分母赋值 //自增长的不能是float
double sum; //把sum当作和
int n=-1; //符号变化
printf("请输入你想输入的N\n");
scanf("%d",&k); //%d是输入整数
for(sum=0;i<=k;i++) //用for循环来求和
{ n=-n; //外面的那个循环完全没必要
sum=(sum+(1.0/i*n));

}
printf("计算结果是 %.6f\n",sum);
}

回答4:

第一个
sum=0
第二个
i++
第三个
1/t

回答5:

#include 
int main()
{
    double s=0;int i,n//double n,i,s=0; 控制变量最好是int类型的
    scanf("%lf",&n);//scanf("%f",&n);double是%lf 
    for(i=1; i<=n ;i++)
    {
             s=s+1.0/i;//1改1.0
    }
    printf("%lf\n",s);//%lf 
    return 0;
}