精度计算-大数乘小数
发布时间: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]=' |