关于用C语言求一个小数求小数点后面的位数多少的问题,求大神解答。
#include<stdio.h>//#include<math.h>voidmain(){floatnum;intflag=0;scanf("%f",&num);pri...
#include<stdio.h>
//#include<math.h>
void main()
{
float num;
int flag=0;
scanf("%f",&num);
printf("%f\n",num);
printf("%d\n",flag);
num=num-(int)num;
printf("%f\n",num);
while(num>0)
{
num=num*10;
flag++;
num=num-(int)num;
printf("%f\n",num);
// printf("%d\n",flag);
}
printf("%d\n",flag);
}
我运行了这个,发现num的值后来会出现乱码 求解决 展开
//#include<math.h>
void main()
{
float num;
int flag=0;
scanf("%f",&num);
printf("%f\n",num);
printf("%d\n",flag);
num=num-(int)num;
printf("%f\n",num);
while(num>0)
{
num=num*10;
flag++;
num=num-(int)num;
printf("%f\n",num);
// printf("%d\n",flag);
}
printf("%d\n",flag);
}
我运行了这个,发现num的值后来会出现乱码 求解决 展开
3个回答
展开全部
这样肯定不行。
用double也好float也好,都存储的不是准确的值,都是一个近似值。用浮点型运算,结果每次运算都会产生误差,导致错误。
你还是用字符串输入,然后遍历这个串吧
用double也好float也好,都存储的不是准确的值,都是一个近似值。用浮点型运算,结果每次运算都会产生误差,导致错误。
你还是用字符串输入,然后遍历这个串吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去除末尾0后,用字符串比较好,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询