题目是从2/1+3/2+5/3+8/5,加到n项,结果不正确

#include<stdio.h>
int main()
{
int n,a=2,b=1,cot,e;
double c,d=0;
printf("请输入一个正整数");
scanf("%d",&n);
for(cot=1;cot<=n;cot++){
e=a;
c=a/b;
d=c+d;
a=a+b;
b=e;
printf("%.2f",c);
}
printf("%.2f",d) ;
}

c=a/b;
这是不对的,a和b都是整数,是做整除操作。
改为:c = a*1.0/b;

如果有帮助的话,请点击右上角【采纳】按钮,支持一下!!


img


#include<stdio.h>
int main()
{
    int n,a=2,b=1,cot,e;
    double c,d=0;
    printf("请输入一个正整数");
    scanf("%d",&n);
    for(cot=1;cot<=n;cot++){
        e=a;
        c=1.0*a/b;
        d=c+d;
        a=a+b;
        b=e;
        printf("\n%.2f ",c);
    }
    printf("\nn项和=%.2f",d) ;
}

img