回复 10楼 wp231957
#include<stdio.h>int main()
{
double dec = 5550.687;
int i=0;
while(1)
{
dec=dec-(int)dec;
if(dec*10-(int)(dec*10)<0.0000001) break;
i++;
dec=dec*10;
}
i++;
printf("%d",i);
}你试试
#include <stdio.h> #include<string.h> int main () { double dec; scanf("%lf",&dec); char str[100]; sprintf(str,"%lf",dec); int len=strlen(str); int count=0,zero=0; for(char c=str[--len];c!='.';c=str[--len]){ if(c-'0'!=0){ zero=1; } if(zero) count++; } printf("%d",count); return 0; }