为了账号安全,请及时绑定邮箱和手机立即绑定

请问下在c++中的%if,有什么用,double是什么函数,有什么用

请问下在c++中的%if,有什么用,double是什么函数,有什么用

C++ C
交互式爱情 2022-04-22 12:15:28
如例题:#include<math.h>#include<stdio.h>main(){double x,s;printf("input number:\n");scanf("%lf",&x);s=sin(x);printf("sine of %lf is %lf\n",x,s);}
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

#include<stdio.h>
#include<math.h>

int main(void)
{
double x,s;
printf("input number:\n");
scanf("%lf", &x);
s = sin(x * 3.14 / 180);
/*
C语言math.h库中的sin, cos, tan的参数是
弧度制, 不是角度制. 这点要明确...
%lf是转换说明符, 这个说明符代表一个double类型的值
而对应的%f是float类型.
double 是一个数据类型说明符(也可以说是C语言的关键字)
double代表双精度浮点类型的集合的名称
而float代表单精度浮点类型的集合的名称
双和单的区别就是精度的区别,
比如双精度可以精确到10的-8次方的数量级, 而单精度是10的-4次方
函数printf还有很多修饰符, 比如%.4lf代表精确到小数点后4位
而%4d代表数据宽度的最小值, 如果不能容纳则系统会使用更长的宽度

注意: float和double很相似
但有一个区别需要注说明
float a;
double b;
scanf("%f", a); // 这个没有错
scanf("%f", b); // 这个就错了
但是printf("%f %f\n", a, b);
是没有错的, 输出时%f都可以作用于double和float
但是输入时要严格对照转换说明符, 所以正确的写法是:
scanf("%Lf", b); // lf和Lf和Lf是一样的, 但f不能大写
*/
printf("sine of %.2lf is %.2Lf\n", x, s);
getchar();
return 0;
}

输出测试 (粗体代表输入)
input number:
30
sine of 30.00 is 0.50



查看完整回答
反对 回复 2022-04-24
?
千万里不及你

TA贡献1784条经验 获得超9个赞

输出浮点小数,double 是双精度浮点数,也就是实数,正常境况下C++输出保留四位小数

查看完整回答
反对 回复 2022-04-24
  • 2 回答
  • 0 关注
  • 258 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号