zoukankan      html  css  js  c++  java
  • 大数四则运算之加法运算--------C语言版(未考虑负数)

    /*
    声明两个字符数组,用于存储大数,声明两个整数型数组便于计算,将字符数组中的元素转换为对应整数存于整数数组中,将低位放在整数数组低位,便于对齐计算
    判断是否有进位,计算结果高位先输出,从数组后往前找,找到第一个不为0的数,可以设置一个标志位。
    */
    
    #include<stdio.h>
    #include<string.h>
    
    int main() {
        int num1[1000], num2[1000], i, j, max;
        char ch1[1000], ch2[1000];
        int flag = 0;
        scanf("%s", ch1);
        scanf("%s", ch2);
        max = strlen(ch1);
        if (max<strlen(ch2))
            max = strlen(ch2);//找出位数最多的数的位数
        for (i = 0; i <= max; i++) {//初始化数组,只需初始化max+1位,两数相加最多增加一位
            num1[i] = 0;
            num2[i] = 0;
        }
        for (i = strlen(ch1) - 1, j = 0; i >= 0; i--) {
            num1[j++] = ch1[i] - '0';//num1[0]存储低位
        }
        for (i = strlen(ch2) - 1, j = 0; i >= 0; i--) {
            num2[j++] = ch2[i] - '0';
        }
        for (i = 0, j = 0; i <= max; i++) {
            num1[i] += num2[i];
            if (num1[i]>9) {
                num1[i] -= 10;//进一位
                num1[i + 1]++;
            }
        }
        for (i = max; i >= 0; i--) {
            if (num1[i] == 0 && flag == 0)
                continue;
            flag = 1;
            printf("%d", num1[i]);
        }
        return 0;
    }
  • 相关阅读:
    JS的type类型为 text/template
    Vue之x-template(2)
    Vue之x-template(1)
    vue之$mount
    console.log()与console.dir()
    Less用法注意事项
    一次 Linux 系统被攻击的分析过程
    WebAR 如何改变增强现实的未来
    开发中的测试名词解释
    Flutter 同步系统的 HTTP 代理设置
  • 原文地址:https://www.cnblogs.com/lin0/p/6412966.html
Copyright © 2011-2022 走看看