%lf代表按双精度输入或输出。
格式占位符(%)是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
扩展资料:
双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.7E-308~1.7E+308
单精度浮点数(float)与双精度浮点数(double)的区别如下:
1,在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
2,有效数字位数不同
单精度浮点数有效数字7位
双精度浮点数有效数字16位
3,所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
4,在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
参考资料来源:百度百科-双精度浮点数
#include <stdio.h>int main()
{
int i,n,k=1,m=0
char s[80]
gets(s)n=strlen(s)
for(i=0i<n&&ki++)
{
if(s[i]=='.') m++
if((s[i]<'0'||s[i]>'9')&&s[i]!='.'&&m<2||m==2)
{
k=0
printf("Error[%d]=%c",i,s[i])
}
}
if(k) printf("Yes")
return 0
}
//运行示例: