用c语言求该数列的前20项和

img

img

img


在线请教该程序哪里出了错误?好难🤧感谢大家的答疑解惑谢谢啦!

有两个错误,修改如下


#include<stdio.h>
int main()
 {
    int i = 1, j = 2, n = 1,temp;
    float sum = 0, sn;
    while (n<=20)
    {
        sn = 1.0*i / j;  //答案为0错在这里!!! 因为i和j都是整数,结果也是整数的,只需在表达式中*1.0将之变成浮点数的表达式即可得到小数
        sum = sum + sn;
        temp = i;     //将原来的i赋给temp,否则执行i=j后i的值被赋予了j的值
        i = j;   
        j = temp + j;
        n++;
    }
    printf("%f", sum);
     return 0;
 }
    

注意 c语言中有类型之分,两个int类型的值相处,除不尽永远为0,你可以定义成float,或者对int类型做转换:

img