我知道,利用字符串来做很简单,但是我想试试利用数能不能解决。
看了很久后,发现了一个很好用的函数modf,但是该函数只能做double类运算,所以输入量必须是duoble,然后利用循环求解即可。
编写一个程序,允许用户输入值,并打印出其中整数的个数和浮点数的个量。将循环设计为标记控制循环,使用零作为标记值。
这个是原题,不知道我有没有理解错
附上代码
#include <stdio.h>
#include <math.h>
int main()
{
double a,b;
int d=0,e=0;
scanf("%lf",&a);
double c;
c = modf(a,&b);
while((int)b !=0)
{
b = b/10.0;
d++;
}
while((a-(int)a) !=0)
{
a=a*10;
e++;
}
printf("%d,%d",d,e);
return 0;
}