作业帮 > 综合 > 作业

C语言编程数列求和就是有一个数列:2/1,3/2,5/3,8/5,13/8,21/13……求前29项之和.我在度娘搜到这

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/30 12:38:30
C语言编程数列求和
就是有一个数列:2/1,3/2,5/3,8/5,13/8,21/13……求前29项之和.我在度娘搜到这个答案:#include
void main()
{
int a = 1,b = 2,c,i;
double sum = 2;
for( i=1; i
C语言编程数列求和就是有一个数列:2/1,3/2,5/3,8/5,13/8,21/13……求前29项之和.我在度娘搜到这
+=的意思就在字面上表示出来了,
inta+=intb表示inta=inta+intb, C语言的简洁
那句代码就是sum = sum + (double(b) / a)
基础还是要打扎实
再问: 理解了一点。但是这个式子不简便的写法是什么呢?sum=double(b)/a+?还有为什么括号只括起了b而没有像这个样子(b/a)?实再不太好理解,麻烦详细说一下,我是初学者。
再答: b声明为了int类型, a也是int类型, 结果也是整型, 那么程序就不正确了. 这里的语法是C风格的强制类型转换, 可以写作(double)b也可以写作double(b), 目的是迫使编译器以浮点类型对待b, 这样算出来的sum类型也是一个浮点值. 其实不光可以对b做转换, 对a做强制浮点转换或者a和b都做都是可以的, 不过只要一个就够了. 计算中有一个操作数是浮点就会使用浮点计算指令, 如果两个都是整型就使用整型计算指令, 得不到浮点结果