• 【算法】大数相加


    参考1:

    https://www.xuebuyuan.com/2224758.html

    类似问题1:多项式相加

    类似问题2:大数相加减乘除

    类似问题3:。。。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX 100
    
    void plus(char *a, char *b);
    
    int main(void)
    {
        char a[MAX], b[MAX];
    
        gets(a);
        gets(b);
        plus(a, b);
        return 0;
    }
    
    void plus(char *a, char *b)
    {    
        char c[MAX+1];
        int len_a = strlen(a);
        int len_b = strlen(b);
        int i = len_a - 1; // 字符串a倒序
        int j = len_b - 1; // 字符串b倒序
        int k = 0; // 字符串c正序 c[k] = a[i] - b[j];
        int flag = 0; // 是否本次有进位,有的话在下一次循环加1;
        int x, y, z; // 相加的临时变量x = a[i], y = b[j], z = x- y
    
        while(i >= 0 || j >= 0)
        {
            if(i < 0)
                x = '0';
            else
                x = a[i];
    
            if(j < 0)
                y = '0';
            else
                y = b[j];
    
            z = x - '0' + y - '0';
            if(flag)
                z += 1;
            if(z > 9)
            {
                flag = 1;
                z = z % 10;
            }
            else
                flag = 0;
            c[k++] = z + '0';
            i--;
            j--;
        }
        
    
        if(flag)
            c[k++] = '1';
        c[k++] = '';
        
    
        for(int p = strlen(c) - 1; p>=0; p--)
        {
            printf("%c ", c[p]);
        }
        printf("
    ");
    }


     

  • 相关阅读:
    uni app 零基础小白到项目实战
    uni-app 事件以及事件绑定
    uni-app 事件以及事件绑定
    uni-app 组件
    uni-app 组件
    uni-app 网络请求
    uni-app 网络请求
    uni-app 图片上传实战
    uni-app 图片上传实战
    uni-app下拉刷新加载刷新数据
  • 原文地址:https://www.cnblogs.com/paprikatree/p/10529466.html
Copyright © 2020-2023  润新知