您的位置:首页 > 编程语言 > C语言/C++

C语言的那些事——sqrt()函数 和 double型数据的“%lf”

2013-11-01 20:26 393 查看
计算函数y=2*x^2中的x的值。计算x的值.

原本这是一道很简单的编程题目,但是对sqrt()函数以及double型数的输入与输出必须进行强调。

函数名:sqrt()

函数声明:double sqrt( double  x);

第一:该函数的输入参数必须以double类型输入,函数返回类型为double型,因此必须使用double型的变量来进行接收返回的数值。当输入数据不是double型时,应使用强制类型转换,将其转换为double类型。另外,sqrt()函数的输入参数不允许为负数,若输入赋值作为函数入参,将得不到正确的结果。因此在调用函数之前,应检查函数输入参数。

第二:在函数接收引用的数值时,应该用  %lf 来表示,否则,将会在输入或输出时出现数据错误,尤其是在数据输入的时候,会直接导致数据出错。这也都主要是由于不同类型的数据存储和读取的方式不同导致的。

下面用一个简单的程序作为例子进行说明:

 

#include<stdio.h>
#include<math.h>
void main()
{
double y=0.0,x=0.0;
back:
printf("请输入函数y的值:");
scanf("%lf",&y);
if(y<0)
{
printf("参数输入错误:函数值应该大于等于0\n");
goto back;
}
x=sqrt(y/2.0);
printf("函数值为  %lf    时,自变量可以是  %lf  和   %lf\n",y,x,-x);
}


 输出结果为:



当scanf(“%f”,&y)时,则会出现

 


所以在编写程序时一定要多加注意,数据的类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  math.h double型 lf