吵死了你闭嘴 发表于 2021-3-10 19:28:46

为什么我的这个跟视频的结果不一样。。。我用的软件是vs2010

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

        printf("input number:\n");
        scanf("%If",&x);
        s = sin(x);
        printf("sin of %If is %If\n",x,s);
       
}
我用vs运行后 输入30控制台的结果是sin of If is If
结果不是sin30
求解

王逗比666 发表于 2021-3-10 19:37:34

因为double的格式化输出是%lf不是%If

嘉岳呀 发表于 2021-3-10 19:58:45

double的格式化输出是 %lf 不是 %If
还有,以后问题贴代码用代码形式“<>”

jackz007 发表于 2021-3-10 20:30:36

本帖最后由 jackz007 于 2021-3-10 20:46 编辑

      除了前面帖子指出的 double 型数据用错格式描述符 "lf" 的问题外,还有一个问题,那就是 sin(x) 中输入参数 x 的单位是弧度,如果用角度需要经过换算。
#include<stdio.h>
#include<math.h>
int main(void)
{
      double x                                                   ;
      printf("input number : ")                                  ;
      scanf("%lf" , & x)                                       ;
      printf("sin of %.lf is %.6lf\n" , x , sin(x * M_PI / 180)) ;
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
input number : 30
sin of 30 is 0.500000

D:\00.Excise\C>
页: [1]
查看完整版本: 为什么我的这个跟视频的结果不一样。。。我用的软件是vs2010