zoukankan      html  css  js  c++  java
  • 精密加搭剪

    #include<stdio.h>
    #include <cstring>
    char n[255],m[255];
    int n1[255],m1[255],s[510];
    int bigjia(char *a,char *b)
    {
        int a1[500],b1[500];
        int i,j,k=0,t;
        int lena=strlen(a);
        int lenb=strlen(b);
        for(i=0; i<lena; i++)
            a1[i]=a[i]-48;
        for(j=0; j<lenb; j++)
            b1[j]=b[j]-48;
        while(i>=0&&j>=0)
        {
            s[k]=a1[i]+b1[j];
            k++;
            i--;
            j--;
        }
        if(i>=0)
            while(i>=0)
            {
                s[k]=a1[i];
                k++;
                i--;
            }
        else if(j>=0)
            while(j>=0)
            {
                s[k]=b1[j];
                k++;
                j--;
            }
        for(t=1; t<k; t++)
            if(s[t]>=10)
            {
                s[t]%=10;
                s[t+1]++;
            }
        while(s[k]==0)
            k--;
        return k;
    }
    int bigcheng(char *n,char *m)
    {
        int k=0,t,x=0,dig;
        int lenn=strlen(n);
        int lenm=strlen(m);
        for(int i=0; i<lenn; i++)
            n1[i]=n[i]-48;
        for(int j=0; j<lenm; j++)
            m1[j]=m[j]-48;
        for(int j=lenm-1; j>=0; j--)
        {
            t=k;
            for(int i=lenn-1; i>=0; i--)
            {
                s[t]+=n1[i]*m1[j];
                t++;
            }
            ++k;
            dig=t;
        }
        for(int i=0; i<dig; i++)
            while(s[i]>=10)
            {
                s[i]-=10;
                ++s[i+1];
            }
        return dig;
    }
    void exch_str(char*s1,char*s2)
    {
        char tmp[1001];
        strcpy(tmp,s1);
        strcpy(s1,s2);
        strcpy(s2,tmp);
    }
    void bigjian(char *a,char *b)
    {
        int a1[1001]= {0},b1[1001]= {0},s[1001]= {0},sign=1;
        int len_a,len_b,i,j,k=0,t;
        len_a=strlen(a);
        len_b=strlen(b);
        if(len_a<len_b)
        {
            sign=-1;
            exch_str(a,b);
            t=len_a;
            len_a=len_b;
            len_b=t;
        }
        else if(len_a==len_b)
        {
            for(i=0; i<len_a; ++i)
            {
                if(a[i]>b[i])
                {
                    sign=1;
                    break;
                }
                else if(a[i]<b[i])
                {
                    sign=-1;
                    exch_str(a,b);
                    break;
                }
            }
        }
        else
        {
            sign=1;
        }
        for(i=0; i<len_a; ++i)
        {
            a1[i]=a[i]-'0';
        }
        for(j=0; j<len_b; ++j)
        {
            b1[j]=b[j]-'0';
        }
        while(i>=0&&j>=0)
        {
            s[k]=a1[i]-b1[j];
            if(s[k]<0)
            {
                a1[i-1]-=1;
                s[k]+=10;
            }
            k++;
            i--;
            j--;
        }
        while(i>=0)
        {
            s[k]=a1[i];
            k++;
            i--;
        }
        if(sign<0)
            printf("-");
        while(s[k]==0&&k>0)
        {
            k--;
        }
        if(k==0)
            printf("0");
        while(k>0)
        {
            printf("%d",s[k]);
            k--;
        }
    }
    int main()
    {
        scanf("%s%s",&n,&m);
        int l=bigjia(n,m);
        for(int i=l; i>0; i--)
            printf("%d",s[i]);
        puts("");
        memset(s,0,sizeof(s));
        int ll=bigcheng(n,m);
        if(s[ll]!=0)
            for(int i=ll; i>=0; i--)
                printf("%d",s[i]);
        else
            for(int i=ll-1; i>=0; i--)
                printf("%d",s[i]);
        puts("");
        memset(s,0,sizeof(s));
        bigjian(n,m);
        return 0;
    }
    

    版权声明:都是兄弟,请重印,请说明谁是兄弟

  • 相关阅读:
    jdk7_ConcurrentHashMap 图示
    Teradata 日期函数
    Teradata正则表达式
    Teradata sql去除字段中的字母/数字
    sql查询连续3天有交易记录的客户
    批量生成sql查询语句
    sql查询字段中是否含有字母/数字/符号
    sql查询每个人最新的2个电话号码
    python连接Teradata数据库
    dos命令获取文件行数
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4854435.html
Copyright © 2011-2022 走看看