zoukankan      html  css  js  c++  java
  • UVA 424 Integer Inquiry (大数相加问题)

            给多组大数,求所有相加之和。

    #include <stdio.h>
    #include <string.h>
    
    // 该函数实现str1和str2相加,将结果保存在str1中
    void add(char str1[], char str2[]) {
        int i, j;
        int l1 = strlen(str1);
        int l2 = strlen(str2);
    
        int a[1050], b[1050];
        memset(a, 0, sizeof (a));
        memset(b, 0, sizeof (b));
    
        for (i=l1-1; i>=0; i--)
            a[l1-i-1] = str1[i]-'0';
        for (i=l2-1; i>=0; i--)
            b[l2-i-1] = str2[i]-'0';
    
        int m = l1 > l2 ? l1 : l2;
        int cp = 0;
        for (i=0; i<m; i++) {
            int tmp = a[i] + b[i] + cp;
            a[i] = tmp % 10;
            cp = tmp / 10;
        }
        if (cp) {
            a[i] = cp;
            m++;
        }
    
        for (i=0, j=m-1; j>=0; j--, i++)
            str1[i] = a[j]+'0';
        str1[i] = '\0';
    }
    
    int main() {
        char str1[1050], str2[1050];
        str1[0] = '\0';
        while (scanf("%s", str2) && strcmp(str2, "0")) {
            add(str1, str2);
        }
    
        printf("%s\n", str1);
        return 0;
    }
    

  • 相关阅读:
    刻舟求剑,
    录制时间是不准确的,
    HIV T2
    DNA RNA
    洛谷 P1428 小鱼比可爱
    Codevs 1081 线段树练习2
    Codevs 1080 线段树联系
    Tarjan算法
    Codevs 2611 观光旅游
    洛谷 1865 A%B问题
  • 原文地址:https://www.cnblogs.com/zcube/p/4194563.html
Copyright © 2011-2022 走看看