该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
int main()
{
double a;
scanf("%lf", &a);
输入小数
int b, c =0, d =0;
double b1 =a;
do
{
b1 *=10;
b =(int)b1;
printf("%d\n", b);
if(b%10!=0)
{
c++;
if(d>0)
{
c +=d;
d =0;
}
}
else
{
d++;
}
}while(d<=5);
printf("%d,%d\n", c,d);
转换成整数
int e,f =1;
for(e =1; e<=c; e++)
{
f *=10;
}
a *=f;
int g,h =0;
for(g =1; g<=a&&g<=f; g++)
{
if((int)a%g==0&&f%g==0)
{
if(h
{
h =g;
}
}
}
/求最大公约数
printf("%lf,%d", a,f);
printf("\n%.0lf/%d", a/h,f/h);
/输出分数
return 0;
}
这是源代码