C语言 输入一个正整数N,输出2/1+3/2+5/3+8/5+……的前N项和,保留两位小数.(该数列从第2项起每一项的分然后我如下写的,然后很神奇的是:不管输入什么,输出都是2.00.求教.#include#includeint main(void

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 21:41:23

C语言 输入一个正整数N,输出2/1+3/2+5/3+8/5+……的前N项和,保留两位小数.(该数列从第2项起每一项的分然后我如下写的,然后很神奇的是:不管输入什么,输出都是2.00.求教.#include#includeint main(void
C语言 输入一个正整数N,输出2/1+3/2+5/3+8/5+……的前N项和,保留两位小数.(该数列从第2项起每一项的分
然后我如下写的,然后很神奇的是:不管输入什么,输出都是2.00.求教.
#include
#include
int main(void)
{
int n,i;
double denominator,fenzi,fenshi,A,B;
denominator=1;
fenshi=0;
fenzi=2;
scanf("%d",&n);
for(i=1;i

C语言 输入一个正整数N,输出2/1+3/2+5/3+8/5+……的前N项和,保留两位小数.(该数列从第2项起每一项的分然后我如下写的,然后很神奇的是:不管输入什么,输出都是2.00.求教.#include#includeint main(void
第一次执行循环就会是下面这个情况……
denominator=fenzi;==》denominator=2
A=fenzi+denominator;==》A=4(其实就是A=2*fenzi有没有发现)
fenzi=A;==》fenzi=4
B=fenzi/denominator;==>B=2
fenshi=fenshi+B==》fenshi=2
第二次
denominator=fenzi;==》denominator=4
A=fenzi+denominator;==》A=8
fenzi=A;==》fenzi=8
B=fenzi/denominator;==》B=2
fenshi=fenshi+B;==》fenshi=4
B怎么弄都是2
你输出B结果不久永远是2了么