关于用C语言求一个小数求小数点后面的位数多少的问题,#include//#includevoid main(){float num;\x09\x09int flag=0;\x09scanf("%f",&num);\x09printf("%f\n",num);\x09printf("%d\n",flag);\x09num=num-(int)num;\x09printf("%f\n",num);\x09w

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 11:24:00
关于用C语言求一个小数求小数点后面的位数多少的问题,#include//#includevoid main(){float num;\x09\x09int flag=0;\x09scanf(

关于用C语言求一个小数求小数点后面的位数多少的问题,#include//#includevoid main(){float num;\x09\x09int flag=0;\x09scanf("%f",&num);\x09printf("%f\n",num);\x09printf("%d\n",flag);\x09num=num-(int)num;\x09printf("%f\n",num);\x09w
关于用C语言求一个小数求小数点后面的位数多少的问题,
#include
//#include
void main()
{
float num;\x09
\x09int flag=0;
\x09scanf("%f",&num);
\x09printf("%f\n",num);
\x09printf("%d\n",flag);
\x09num=num-(int)num;
\x09printf("%f\n",num);
\x09while(num>0)
\x09{
\x09
\x09
\x09 num=num*10;
\x09 flag++;
\x09 num=num-(int)num;
\x09 printf("%f\n",num);
\x09 // printf("%d\n",flag);
\x09}
printf("%d\n",flag);
}
我运行了这个,发现num的值后来会出现乱码

关于用C语言求一个小数求小数点后面的位数多少的问题,#include//#includevoid main(){float num;\x09\x09int flag=0;\x09scanf("%f",&num);\x09printf("%f\n",num);\x09printf("%d\n",flag);\x09num=num-(int)num;\x09printf("%f\n",num);\x09w
说句实话,如果是我,我绝对不会使用这种方式来计算.
因为float精确到小数点后6位.
我建议你通过这样的方式来计算:
不定义浮点数,而是定义字符串,然后从小数点开始计算后面的长度即可.
最主要的是假设你输入一个1.123456789123456789除了使用字符串的方式你无法通过正常的浮点数数据类型来精确计算.