zoukankan      html  css  js  c++  java
  • 精度计算————乘法(大数乘小数)

    计算一个大数乘以一个10以内的小数

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    
    //精度计算————乘法(大数乘小数)
    void mult(char c[], char ans[], int m) //c数组存被乘数,ans数组存储计算结果,m存储乘数(m<10)
    {
        char s[100];
        int len = strlen(c), add=0, i; //add存数要进位的数, i计数用
        for(int i = 0; i < len; i++)
            s[len-i-1] = c[i] - '0';
        for(i = 0; i < len; i++)
        {
            s[i] = s[i] * m + add;
            add = s[i] / 10;
            s[i] = s[i] % 10;
        }
        if(add > 0) {len = i + 1; s[len-1] = add;}
    
        for(i = 0; i < len; i++)
            ans[len-i-1] = s[i] + '0';
        ans[len] = '';
    }
    int main()
    {
        char c[4] = "123";
        char ans[100];
        mult(c, ans, 3);
        printf("%s
    ", ans);
        return 0;
    }
  • 相关阅读:
    Hopcroft-Carp 算法模板 自用
    (转)二分图匹配匈牙利算法与KM算法
    LightOJ
    最短路类型 (至今做过的)
    POJ
    POJ
    差分约束
    传递闭包(例题POJ3660)
    arrow,
    分辨率,
  • 原文地址:https://www.cnblogs.com/rain-1/p/6575323.html
Copyright © 2011-2022 走看看