加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

精度计算-大数乘小数

发布时间:2020-12-14 02:09:34 所属栏目:大数据 来源:网络整理
导读:语法: mult(char?c[],char?t[],int?m); 参数: c[] : 被乘数,用字符串表示,位数不限 t[] : 结果,用字符串表示 m : 乘数,限定 10 以内 返回值: null 注意: ? ? 需要? string.h 源程序: ? #include stdio.h #include stdlib.h #include string .h v

语法: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]=''; } 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 %sn",anwser); return 0; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读