给定程序MODI1.C中函数 fun 的功能是:求出以下分数序列的前n项之和.和值通过函数值返回到main函数.

给定程序MODI1.C中函数 fun 的功能是:求出以下分数序列的前n项之和.和值通过函数值返回到main函数.
2 3 5 8 13 21
┄┄ ,┄┄ ,┄┄ ,┄┄ ,┄┄ ,┄┄ ,……
1 2 3 5 8 13
例如,若n = 5,则应输出:8.391667.
请改正程序中的错误,使它能计算出正确的结果.
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
//
s = s + (Double)a / b;
c = a; a = a + b; b = c;
}
return s;
}
main( )
{ int n = 5;
printf( "nThe value of function is:%lfn",fun ( n ) );
}
什么时候FUN前要加类型,是有RETURN的时候吗
(double)a/b为什么不用改成(double)(a/b)
xiaokaichao 1年前 已收到1个回答 举报

linliang08325 春芽

共回答了20个问题采纳率:80% 举报

如果你要返回一个数值,就要加类型.简单一点,就是这个函数要是算出一个东西来,就要加类型;如果只是做了一件事比如排序什么的,就不要加类型
回答你最后一句话的问题,改成你那样是错的:两个整型进行除法计算,你应该知道吧,会把小数部分忽略掉,(double)(a/b),就是把算出来的错误结果进行强制转换,没有任何意义;如果先对a进行强制转换,那么这个浮点数在和另一个整型数进行计算的时候,根据c语言的规则,整型数会自动转换成浮点数,算出来的结构就是正确的.

1年前 追问

5

xiaokaichao 举报

是不是和是否有return有关

举报 linliang08325

你是说那个double的问题吗?那个跟return没有关系,在任何地方都通用。

xiaokaichao 举报

我说FUN

举报 linliang08325

哦对,fun确实要加double而不是void,我只看你的问题了,没看代码,呵呵。你说通过return来看函数的类型,在改错题例这么看确实没错;不过有个先后顺序的,你要先知道函数有返回值,才会写出return语句啊
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.652 s. - webmaster@yulucn.com