• 小数转化为分数


    输入一个小于1的正小数,分别输出最简分数的分子和分母。

    此代码的目的是简单快速的求出有限位小数对应的最简真分数。

    C语言代码如下:

    # include <stdio.h>
    # include <string.h>
    
    // 判断两个整数的最大公约数是否为1
    int is_prime(int a, int b)
    {
    	while (a != b)
    	{
    		a>b?(a-=b):(b-=a);
    	}
    	return b;
    }
    
    int main(void)
    {
    	char ch[50];
    	int a=0, b=1;
    	int i = 0, flag=0,temp;
    	gets(ch);
    	// 读取尾数长度
    	while (ch[i])
    	{		
    		if (flag == 1)
    		{
    			a += (ch[i]-'0');
    			a *= 10;
    	 		b *= 10;
    		}	
    		if (flag==0 && ch[i]=='.')
    			flag = 1;
    		i++;
    	 } 
    	a /= 10;
    
    	temp = is_prime(a,b);
    	
    	while (1 != temp)
    	{
    		a /= temp;
    		b /= temp;
    		temp = is_prime(a,b);
    	}
    	printf("%d %d
    ",a,b);
    	
    	return 0;
     } 
    本人计算机小白一枚,对编程有浓厚兴趣,在此贴出自己的计算机学习历程,还有很多不足,望多多指教! 读书后发现好多的内容与具体专业有偏差,没来得及完成,虽然“有时间我就会做...”是人生最大的谎言,但有时间我会继续搞定未完成的内容,有始有终,兴趣使然!
  • 相关阅读:
    组合继承
    包装明星——封装
    多种添加公用方法的方式
    专有扩展
    插入标记
    mac 命令操作
    php(apache)切换版本
    SqlServer索引+约束篇章
    sqlserver 常用语法
    C# 通用数据访问类
  • 原文地址:https://www.cnblogs.com/Robin5/p/11552715.html
Copyright © 2020-2023  润新知