zoukankan      html  css  js  c++  java
  • ACM虐我千百遍(一下子水平就侧漏了o(╯□╰)o)

    思路很清晰很简单的一道题,大数相加,用字符串来处理

    结果转化成代码时频频出错,索引值 + 1 ,-1 错误尤为突出。

    又一次被ACM给虐了。

    撸代码能力弱爆了。

    http://acm.cs.ecnu.edu.cn/problem.php?problemid=1001

    不过总算让我给AC

    #include<iostream>
    using namespace std;
    
    int main()
    {
        void Sum(char A[],char B[],char C[]);
        char A[550],B[550],C[550];
        while(cin >>A && cin >> B)
        {
            Sum(A,B,C);
            cout << C <<endl;
        }
    }
    void Sum(char A[],char B[],char C[])
    {
        int sA = strlen(A);
        int sB = strlen(B);
        int max = sA > sB ?sA:sB;
        //数组分别倒置
        for(int i = 0,j = sA - 1;i < j;i++,j--)
        {
            int t = A[i];
            A[i] = A[j];
            A[j] = t;
        }
        for(int i = 0,j = sB - 1;i < j;i++,j--)
        {
            int t = B[i];
            B[i] = B[j];
            B[j] = t;
        }
        //较短的数组右边补零
        if(sA < max)
        {
            for(int i = sA;i < max;i++)
                A[i] = '0';
        }
        if(sB < max)
        {
            for(int i = sB;i < max;i++)
                B[i] = '0';
        }
    
        //相加
        int k = 0;
        int o = 0;
        int final = 0;
        for(int i = 0;i < max;i++)
        {
            k = A[i] + B[i] + o - '0' - '0';
            if(k >= 10)
            {
                k -= 10;
                o = 1;
                C[i] = k + '0';
            }
            else
            {
                o = 0;
                C[i] = k + '0';
            }
            final = i;
        }
        if(o!=0)
            {
                C[final + 1] = '1';
                C[final + 2] = '';
            }
        else
            C[final + 1] = '';
    
        //把C数组倒置
            for(int i = 0,j = strlen(C) - 1; i < j;i++,j--)
        {
            char t = C[i];
            C[i] = C[j];
            C[j] = t;
        }
    
    }
  • 相关阅读:
    作业
    awk 简单用法小结
    R/SAS/Matab数据相互转换
    Xargs 批量处理命令
    线性表
    C plus 笔记(一 )
    C plus 内存管理
    Skyeye学习(一)—— 安装与使用测试例子
    mongoDB基本操作
    《Algorithms Unlocked》读书笔记3——计数排序
  • 原文地址:https://www.cnblogs.com/StudipBird/p/3186598.html
Copyright © 2011-2022 走看看