作业帮 > 综合 > 作业

c语言 求小数的位数要求 算出浮点部分的位数!不能用数组指针.想了好多方法,都以为精度缺失问题失败来.比如while (

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/10 06:11:42
c语言 求小数的位数
要求 算出浮点部分的位数!不能用数组指针.
想了好多方法,都以为精度缺失问题失败来.比如
while ((float)cpNum2>(float)(int)cpNum2)
\x09{
\x09\x09cpNum2 *= 10;
\x09\x09bFlt++;
\x09}
c语言 求小数的位数要求 算出浮点部分的位数!不能用数组指针.想了好多方法,都以为精度缺失问题失败来.比如while (
#include<stdio.h>
#include<string.h>
int main()
{       
    int i,x,y;
char s[100];//用字符串存储浮点数
    printf("请输入浮点数:");
    gets(s);
y=strlen(s);
for(i=0;i<100;i++)
{
if(s[i]=='.')
x=(i+1);
}
y-=x;
printf("%d\n",y);
return 0;
} 看来还是没明白你的意思,呵呵
再问: 原题是随机输入double类型的数转换成字符串! 貌似就不能用字符串输入浮点数了吧
再答: 我不太明白你的意思,这个随机输入不是键盘随机输入一个double类型的浮点数? 然后我写的确实也是将浮点数转换成字符串来处理的。求的是浮点数小数部分的位数。不知道你到底是什么意思呢?