大数乘以小数

#include<iostream>
using namespace std;
//13457689*  23
int foun(char c[],int m)
{
    int len=strlen(c);
    char s;
    bool flag;
    int x=0,d[1000];
    for(int i=0;i<len/2;i++){
        s=c[i];
        c[i]=c[len-1-i];
        c[len-i-1]=s;
    }
    for(int i=0;i<len;i++){
        d[i]=(c[i]-'0')*m+x;
        if(d[i]>=10){x=d[i]/10;d[i]%=10;flag=1;}
        else{x=0;flag=0;}    
    }
    if(flag) len=len+1;
    for(int i=len-1;i>=0;i--)
        cout<<d[i];

    return 0;
}
int main(){
    char c[100];
    int m;
    while(cin>>c>>m){
        foun(c,m);
    }
    return 0;
}
View Code


小数是10以内的

原文地址:https://www.cnblogs.com/wintersong/p/4410257.html