本文目录一览:
C语言输入小数,精确到小数点后10位
把scanf("%15.10f",x);应该改成scanf("%15lf",x);这样就好了。
代码中x是double型的,在输入数据的时候是不允许使用%f的,double型的数据输入必须使用%lf
还有,scanf("%15.10f",x);15.10这个是不允许出现的,在数据输入的时候只能指定输入数据的总长度,不能指定小数点后的长度。
扩展资料:
scanf(函数原型
int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
参考资料来源:百度百科-scanf (计算机语言函数)
c语言:如何输出或输入小数点数字
首先你的定义一个浮点数变量,定义方法: float xxx;
然后输出的时候使用%f格式 printf(“%f”,xxx);
c语言中输小数
没错啊!只是2.5和4.7默认的是double型,赋给float型变量要“截断”,系统认为可能有精度损失,会告警。但在这个代码中并不影响计算结果的正确性。你在2.5和4.7后面写个“f“,告诉编译器前面的数字是float型;或在2.5和4.7前面写一个(float)把它们强制为float型,就完全匹配了……
C语言如何输入小数
看不清你的程序。
如说输出,不要小数点尾部的0,可以用 %g 格式。
#include stdio.h
main()
{
double d;
float f;
printf("enter 1.23\n");
scanf("%lf", d);
printf("your input is %g\n",d);
printf("enter 4.56\n");
scanf("%f", f);
printf("your input is %g\n",f);
return 0;
}