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

来源:互联网 发布:excel圆环图数据标志 编辑:程序博客网 时间:2024/05/29 08:23

计算函数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)时,则会出现

 

所以在编写程序时一定要多加注意,数据的类型。

原创粉丝点击