我这段C代码为何输出结果一直是1

#include <stdio.h>#include <math.h>void main(){ long i; int s; double t , sum; s = 1; sum = 0; for(i = 1 ; i <= 10000 ; i ++) { t = s * 1 / i; sum = sum + t; s = s * (-1); } printf("从左到右各项相加等于%lf\n", sum);}

改成: t = s * 1.0 / i;
1/i 是整除运算。 1.0 / i 是 浮点运算。
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么我的C语言编译结果是1?
首先是你的A,B,C都是定义成了INT型。然后在做A\/B的时候得出来的结果值就是1了。然后和0.4相加的结果本来应该是1.4,但是呢,由于你把C给定义成了INT型,所以呢,只有进行四舍五入了。把0.4给舍弃掉了。所以得出来的结果就是1了。实际上就是进行了一个隐式的类型转换的。这种情况在实际当...

c语言为什么输出的是1
而在函数调用里面只要级别跟它一样的时候(即不再对i进行再次声明,像main里面就对i进行了3次的声明,级别分别为2,3,4,因为i前面都有int还有代表级别规划的{}),此时的i==1,显然funct里面因为输出i比int i=5(级别为2)先,所以输出的是1级别的i,即为i==1.如果你觉得难理解的话,可以看...

问个c语言的题:为什么结果一直都是一个
在编程语言里面,=表示赋值,==表示比较。if(n=k+1)的意思是如果给n赋值为k+1成功,则printf("是素数");所以你的程序应该一直输出“是素数”。应该改成n == k + 1

c语言为什么我的这段代码添加数据后编号都是1而且名字一样的不能合...
看你贴的局部代码,你是动态申请结构数组变量ptemp保存读取的文件数据。而你打印结果同类型没有合并,说明在Material_warehousing这个函数的相同数据对比上出问题。函数没有能识别出已存在的物品名称。排除你输入物品名称输错,那么你问题就在这段:else\/\/若文件中存在记录{ for(i=0;i<f1\/size;i++)...

c语言问题,运行程序段后输出1。
运行程序段后输出1。while(!x!=0) 等价于 while ( (!x) != 0),则 s初始化值为0,故有 !x = 1,接着 1 != 0 ,显然,结果为真。执行while后面的循环语句 s+=++x;(注意,++是前缀的),即 s = s+(++x)[ s= 0+ 1=1],完成后x=1,再次进入循环判断,根据上面的分析,...

C语言编程输出结果为什么是01.exe - 1 error(s), 0 warning(s) ,求解...
你的程序中存在错误,所以不能执行.exe文件,需要把错误全部修改完成才可以。

为什么C程序运算结果输出1个奇怪的数字?
b[4]和b[3]没有赋初始值,所以是随机值,应该是定义数组b时初始化,int b[5]={0};

c语言问题为什么输出为1
scanf在%c控制下只接收一个字符,你输入的是100,1被c接收,00还留存在输入缓冲区里……

C语言的小问题,为什么我输入0,输出的是1,代码如图
我给写个吧 应该是输入一个数,大于0输出1,小于0输出-1,等于0输出0吧 include<stdio.h> int main(){ double number;scanf("%f",&number);if(number>0)printf("1");if(number==0)printf("0");if(number<0)printf("-1");while(1);} ...

在c语言中,需要输出一个数组时只输出了一个数,是什么问题
那是你的输出语句写错了。应该要 for(i=0;i<n;i++)printf("%d ",a[i]);这样就可以输出a数组中a[0]~a[n-1]共n个元素的值了。

相似回答
大家正在搜