精度计算-大数乘小数

语法:mult(char c[],char t[],int m);

参数:

  c[]: 被乘数,用字符串表示,位数不限

  t[]: 结果,用字符串表示

  m: 乘数,限定10以内

返回值: null

注意:

  需要 string.h

源程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void mult(char c[],char t[],int m)
{
    int i,l,k,flag,add=0;
    char s[100];
    l=strlen(c);
    for (i=0;i<l;i++)
        s[l-i-1]=c[i]-'0'; //逆置数组,并转化成数字
    for(i=0;i<l;i++)
    {
        k=s[i]*m+add;//按位想乘
        if(k>=10) //乘积大于10 就加到下一位
        {
            s[i]=k%10;
            add=k/10;
            flag=1;
        } 
        else 
        {
            s[i]=k;
            flag=0;
            add=0;
        }
    }
    if(flag) 
    {
        l=i+1;
        s[i]=add;
    } 
    else 
        l=i;
    for(i=0;i<l;i++)
        t[l-1-i]=s[i]+'0';//逆置回来
    t[l]='\0';
}
int main()
{
    char bignum[100]={0};
    char anwser[100]={0};
    int smallnum=0;
    printf("please enter a big num,and a small num \n");
    scanf("%s %d",bignum,&smallnum);
    mult(bignum,anwser,smallnum);
    printf("the Anwser is %s\n",anwser);
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精度计算-乘法(大数乘大数)

    语法:mult(char a[],char b[],char s[]); 参数: a[]: 被乘数,用字符串表示,位数不限 b[]: 乘数,用字符串表示,位数不...

    用户1154259
  • 精度计算-大数阶乘-ACM常用算法

    语法  int result=factorial(int n); 参数:   n: n 的阶乘 返回值:   阶乘结果的位数 注意:   本程序直接输出n!...

    用户1154259
  • HDU 1042 大数据、高精度,求n的阶乘

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O...

    csxiaoyao
  • 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

    之前自己答的不是满意(对 陈嘉栋的回答 还是满意的),想对这个问题做个深入浅出的总结

    周陆军
  • 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

    例如在 chrome js console 中: alert(0.7+0.1); //输出0.7999999999999999 之前自己答的不是满意(对 陈嘉栋...

    IMWeb前端团队
  • 大数相乘算法

    雪影
  • [算法题] 大数乘法运算

    做算法题时实现的一份大数乘法运算代码。没来得及详细整理,读者可以参考一下。 代码可以在VS2005上直接运行。 #include "stdafx.h" #inc...

    静默虚空
  • 数的阶乘计算器

    /* 功能:数的阶乘计算器 日期:2013-4-19 */ #include <stdio.h> #include <stdlib.h> #incl...

    WindCoder
  • Python模拟大整数乘法的小学竖式计算过程

    让我们先看个图回顾一下小学学过的计算整数乘法的竖式计算过程 ? 然后再来看如何使用Python来模拟上面的过程,虽然在Python中计算任意大的数字乘法都没有问...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券