最接近的分数.c
来自「给出一个非负小数」· C语言 代码 · 共 28 行
C
28 行
#include<stdio.h>
main()
{
double x,y,i,k=10,w,q;
int a,b,c,d;
scanf("%d%d",&a,&b);
scanf("%lf",&x);
if(a<=0 || b<=0){printf("无法完成!"); exit(0);}
y=(double)a/b;
i=y-x;
if(i<0)q=-i;
else q=i;
w=q;
while(a>0 && b>0)
{if(i>0) a--;
else b--;
y=(double)a/b;
i=y-x;
if(i<0)q=-i;
else q=i;
if(q<w){k=w;w=q;c=a;d=b;}
else if(q<k)k=q;
}
if(k==w)printf("TOO MANY!\n");
printf("%d/%d",c,d);
getch();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?