panda0554 发表于 2016-3-24 00:16:09

按照小甲鱼程序打 可以运行 但结果不一致

本帖最后由 康小泡 于 2016-3-28 16:24 编辑

#include <stdio.h>
#include <math.h>
void main()
{
        double x, s;

        printf("input number:\n");
        scanf("%1f", &x);
        s = sin(x);
        printf("sin of %1f is %1f\n", x,s);

}就是这个程序 运行后是这样的 上传了图片

Angel丶L 发表于 2016-3-24 00:38:24

机器不同造成的原因

夜雨de街灯 发表于 2016-3-24 00:39:43

应该是%lf吧,不是%1f
是L不是1
{:10_256:}

小甲鱼 发表于 2016-3-24 01:15:42

{:10_315:}现在我们不学《零基础入门学习C语言》了,学《带你学C带你飞》吧~{:10_256:}

小甲鱼 发表于 2016-3-24 01:19:20

然后问题出在:是 lf,不是 1f

Angel丶L 发表于 2016-3-24 01:26:57

小甲鱼 发表于 2016-3-24 01:19
然后问题出在:是 lf,不是 1f

我发现我从小眼拙

夜雨de街灯 发表于 2016-3-24 08:40:55

小甲鱼 发表于 2016-3-24 01:15
现在我们不学《零基础入门学习C语言》了,学《带你学C带你飞》吧~

学完《零基础入门学习C语言》再学一次《带你学C带你飞》{:10_256:}

panda0554 发表于 2016-3-24 08:52:03

小甲鱼 发表于 2016-3-24 01:19
然后问题出在:是 lf,不是 1f

原来是这样 非常感谢 非常感谢

panda0554 发表于 2016-3-24 08:54:23

夜雨de街灯 发表于 2016-3-24 08:40
学完《零基础入门学习C语言》再学一次《带你学C带你飞》

是个好主意{:10_257:}

Whitehat_K 发表于 2016-3-24 10:24:45

本帖最后由 Whitehat_K 于 2016-3-24 10:30 编辑

1.double型变量对应的应该是%lf,而不是%1f。(前面的层主都提及了。。。)
2.由于30°是角度,但在C语言中用的是弧度。(PS:我猜你想算的是sin30°,而不是sin30)

转载:http://zhidao.baidu.com/link?url=erYrFqC1epfDs5Qw13reA7D1C4vr8HINKdzttjzirzmJ1Yq0FnGN1yIFI4Us2n99qHLtfK3YO9UVSfyv62JYca
1、30°是角度,但在C语言中用的是弧度。什么是角度?什么是弧度?他们之间又怎么转换呢?
2、角度:角度,是一个数学名词,表示角的大小的量,通常用度或弧度来表示。 也可用来比喻看事情的出发点。
3、弧度:在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。
4、他们之间的转换公式:角度乘以 π/180 便可
如 180°换成弧度制 把180乘π/180 得π
相反地 弧度制换角度 乘以180/π 就可以啦~
5、所以
sin(30°)在C中应该写成sin(30*3.1415926/180)
页: [1]
查看完整版本: 按照小甲鱼程序打 可以运行 但结果不一致