求高手帮我看看我写的这道C语言程序哪里错了!!!

/*【问题描述】实验指导书P42第7题。可参考教材P32,使用for循环累加。输入一个正整数n,输出2/1+3/2+5/3+8/5+…的前n项之和,保留2位小数。(该序列... /*
【问题描述】实验指导书 P42 第7题。可参考教材P32,使用for 循环累加。

输入一个正整数n,输出2/1 + 3/2 + 5/3 + 8/5 + …的前n项之和,保留2位小数。
(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)。

提示:每一项的分子和分母在变化,因此要定义两个整型变量分别保存分子和分母的值(假设为 int fenzi,fenmu; ),
将当前项加入sum中后,需要计算下一项的分子和分母,这时还需要一个整型变量假设为t。
计算下一项的分子和分母:
t=fenzi;
fenzi=fenzi+fenmu;
fenmu=t;

【输入形式】
从键盘输入一个正整数n。

【输入输出样例1】(下划线部分表示输入)
Input n: 20
s=32.66

【样例说明】
输入提示符后要加一个空格。其中“:”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。必须严格按样例输入输出。
*/

# include<stdio.h>
int main(void)
{
int i,n,fenzi,fenmu,t;
double item,sum;
printf("Input n: ");
scanf("%d",&n);
fenmu=1;fenzi=2;sum=0;
for(i=1;i<=n;i++){
item=fenzi/fenmu;
sum=sum+item;
t=fenzi;
fenzi=fenzi+fenmu;
fenmu=t;
}
printf("s=%.2f\n",sum);

return 0;
}

运行的结果不对啊~~~
展开
 我来答
zyh1141298056
2012-04-22 · TA获得超过1308个赞
知道小有建树答主
回答量:500
采纳率:100%
帮助的人:595万
展开全部
你的分子和分母都是整数,它们相除的结果会是一个整数,比如:1/2=0,3/2=1,而不会像你预期的那样是一个小数的结果。把其中的一个改成double类型即可,或者item=(double)fenzi/fenmu
挖侠盗
2012-04-22 · TA获得超过107个赞
知道答主
回答量:152
采纳率:0%
帮助的人:77.5万
展开全部
看错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式