level 2
做到哟道题如下:求1*1/(1+1)+2*2/(2+1)
+3
*3/(3+1)。。。。。。。。+n*n/(n+1)的值,其中n的值由用户输入确定(输出结果保留3位小数)。#include"stdio.h"main(){int i,n;float k,result=0;printf("please input a unmber:");scanf("%d",&i);for(n=1;n<=i;n++){k=n*n/(n+1);result+=k;}printf("%.3f",result);}运行结果不对头
2004年11月17日 12点11分
1
level 7
k=n*n/(n+1);-----------k=n*n/(n+1.0);
2004年11月17日 12点11分
2
level 2
谢谢了不过为什么会这样呢?假如还用先前的当输入1的时候结果0。000搞不明白了
2004年11月17日 12点11分
3
level 7
因为整数乘除还得整数,赋值给浮点的时候,直接取整了。你必须让他在运算中就变为浮点,复习一下运算中的数据转换
2004年11月17日 12点11分
4
level 0
k=n*n/(n+1);-----------k=(float)(n*n)/(float)(n+1);
2004年11月18日 04点11分
5