c语言 求助 这个不知道咋填,也没有定义math.h 如何求1e-5 最好解释一下,蟹蟹T

来自:    更新日期:早些时候
C语言,求助这个math.h引用了啥,不知道怎么填 最好能解释一下,蟹蟹?~

math.h主要是运算相关的函数。比如fabs和pow函数。
(fabs和abs都是求绝对值,但abs不在math.h下,所以用fabs,但fabs参数及返回值都是float,而题目变量是int,所以有强转型(float))
一、这个代码中i控制总行数的循环,比如图中是7行,那么i就循环7次。
j是打印空格数的循环(实际打印是该行空格数的一半)。
k是打印*字符的循环。
二、空格数量及*号的数量,可通过循环当前行数i与中间行的行数关系,运算得到(方法不止一种)。
三、下面是我根据题目填写的完整代码,你参考,备注是写给你看的。
代码要考虑通用性,我写的这个代码把行数改成其他数字,也适用。


#include
#include
int main()
{
//7表示总行数,正常编程应定义成常量方便修改比如:#define MAXR 7,代码里的7全部用MAXR替代
//4表示中间行的行数,正常编程应用公式表达:MAXR/2+1
int i,j,k;
for(i=1;i<=7;i++)
{
for(j=1;j<=(2*fabs((float)4-i))/2;j++)//2*fabs((float)4-i)/2表示该行空格数总量的一半
{
printf(" ");
}
for(k=1;k<=2*(4-fabs((float)4-i))-1;k++)//2*(4-fabs((float)4-i))-1表示该行*数总量
{
printf("*");
}
printf("
");
}
return 0;
}

1
n
j<=fabs((n+1)/2-i)
k<n-2*j+3
printf("
")

你这从哪看的教材啊,main也没有返回值,就算现在不提倡用void作为main函数的返回值,也至少有个void返回类型啊,当然规范还是用int作为main函数的返回类型。

而且这个出题,读起来难以让人明白出题意思,哪里的陈旧题目了。「求直到最后一项小于10-5」为止,连个^号都没有,10-5=5啊,最后一项,如果就程序前半段来看,e=0是最后一项;如果就后半段来看的话,printf("e=%f
"...)是最后一项;如果它这个最后一项指的是e取值的小数点部分,那它「10-5」就是精度指代。

我想这里要考察的知识点只不过是:

浮点数在计算机内存里面的存储,因为计算机都是0  1构成比特位进行计算的,计算机能够操作的只有0和1构成的二进制数,表示整数还好如255转化成二进制就是1111 1111。但浮点数,带小数部分的那种,就不是那么直接的了,科学家大致使用定点数和浮点数两种方式来表示数学上常规意义的实数,主流还是以浮点数为主(即小数点是浮动的),浮点数在计算机中有三个部分:符号位、指数、尾数。详细的见图片:

因此浮点数都有不确定尾数,如果判断两个浮点数是否相等,一定要用它们的差值和零比较,而不能直接进行比较,因为你让a=3.14;b=3.14看起来赋值相等,但到计算机内存储就可能变成3.1400002301和3.1400007710了,由于尾数的不确定,它们必然不相等。

说实在,你这个题意还真让人不能理解,描述也是错漏百出!



自然对数的底e的级数展开

  1. t>=1e-5

  2. e+t

  3. t/i

  4. i++

  5. e




c语言 求助 这个不知道咋填,也没有定义math.h 如何求1e-5 最好解释一下,蟹蟹T视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网