c语言代码输出为0.000000

# include <stdio.h>
int main()
{
int deo;
float sum;
sum = 0;
for (deo = 3; deo <= 100; ++deo)
{
sum = sum + float(1/deo);
}
printf("sun=%f \n",sum);
return 0;
}
为什么结果是0?

deo的值 你在前面定义了为整数
而后面你强制转化的是1/deo的值 整数除整数结果就为整 1/deo结果等于 0.几几几相当于等于0 float转化的就是0这个值所以等于0.000000
你应该把float(1/deo)改成
float(1)/deo或1/(float(deo))
或者sum = sum + 1.0/deo
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-28
return sum;
printf("sun=%f \n",sum); sum=
第2个回答  2016-05-28
#include<stdio.h>
int main()

{

double x,s1,s2,a,z;
int i=1,j,y;
a=1;
s1=0;
scanf("%Lf",&x);/////
z=x;

s2=x;//s2 要初始化

y=1;
while(fabs(s1-s2)*1000000>1)///要用while 循环控制精度,

{

s2=s1;

for(j=i-1;j>0;j--)

z=z*x;

for(j=i;j>0;j--)

a=a*j;

if((y+1)%2==0)//判断有问题,借用 y

s1=s1+z/a;

else

s1=s1-z/a;

i=i+2;
a=1;//重置初值
z=x;//重置初值
y++;

}

printf("s(x)=%.6lf",s1);

}追问

哥们,你是不是贴错代码了...

本回答被网友采纳

c语言代码输出为0.000000
在C语言中,可以通过浮点数的运算和格式化输出,得到结果为0.000000的输出。一、浮点数的运算 在C语言中,浮点数是用来表示小数的一种数据类型。为了得到输出结果为0.000000,首先需要进行涉及到浮点数运算的表达式计算。这个表达式的结果应该是一个非常接近零的浮点数。二、格式化输出 在C语言中,使用prin...

C语言为什么总是显示0.00000?
程序中的第五行循环条件写错了,正确的循环条件应该是s<=100;因,所以导致1次循环也没有执行,所以就输出显示0.000000了。

c语言为什么输出始终为0.000000
c语言为什么输出始终为0.000000 森谂i 2018-11-21 C语言编程语言 |举报 答题抽奖 首次认真答题后 即可获得3次抽奖机会,100%中奖。 更多问题 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 c语言 搜索资料 本地图片 图片链接 代码 提交回答正在求助 查看更多问题 > 换...

C语言问题求解!为什么答案等于0.000000
include<stdio.h>void main(){ int x,y;int z;x=2;y=10;z=x\/y;\/\/因为z是整数,2\/10=0.2 把0.2给z,小数部分会被舍弃,所以z=0printf("%f",z);\/\/将z已小数形式输出,由于z为0,最终输出结果为0.000000}\/\/望采纳!

c语言为什么输出为0.000000?
scanf("%lf,%lf",&x,&y);double类型对应scanf格式说明符%lf

C语言问题---这个单位换算程序运行,结果是0.000000,用的是float。求解...
1. 您的单位换算程序中,单位换算的顺序可能存在问题。确保在进行任何计算之前,所有的单位都已经转换为同一类型(例如,全部转换为厘米)。2. 在C语言中,使用浮点数进行计算时,需要注意浮点数的表示范围和精度。如果计算结果为0.000000,这可能是因为数值太接近于0,超出了浮点数的表示范围。3. 您...

c语言代码输出为0.000000
deo的值 你在前面定义了为整数 而后面你强制转化的是1\/deo的值 整数除整数结果就为整 1\/deo结果等于 0.几几几相当于等于0 float转化的就是0这个值所以等于0.000000 你应该把float(1\/deo)改成 float(1)\/deo或1\/(float(deo))或者sum = sum + 1.0\/deo ...

c语言,我运行后结果怎么会是0.000000
把1\/2放到(a+b)的后面就对了,或者把1\/2改成1.0\/2或者1\/2.0或者1.0\/2.0 因为1\/2作为两个整形运算,结果也是整形变成0,再*(a+b)结果就是0.000000

C语言输出都是0.000000
int i=1,j,y;a=1;s1=0;scanf("%Lf",&x);\/\/\/ z=x;s2=x;\/\/s2 要初始化 y=1;while(fabs(s1-s2)*1000000>1)\/\/\/要用while 循环控制精度,{ s2=s1;for(j=i-1;j>0;j--)z=z*x;for(j=i;j>0;j--)a=a*j;if((y+1)%2==0)\/\/判断有问题,借用 y s1=s1+z\/a;el...

C语言编程中,为什么运行结果总是为0.000000
最后一句 printf("%lf,%lf\\n",&x1,&x2);改为:printf("%lf,%lf\\n", x1, x2);&为取地址符,用在scanf的参数前,printf不用。还要注意当方程无根或一个根时,虚根变量会出现浮点数异常,printf便不会将其打印出来

相似回答