首页 > 其他分享 >C语言实现大数的加法

C语言实现大数的加法

时间:2023-02-28 20:25:52浏览次数:32  
标签:s2 大数 int MAX s1 lens2 C语言 lens1 加法

#include <stdio.h>
#include <string.h>
#define MAX 200
int a[MAX],b[MAX],c[MAX];
char s1[MAX],s2[MAX];
int main()
{   
    gets(s1);
    gets(s2);
    int lens1,lens2;
    lens1 = strlen(s1);
    lens2 = strlen(s2);
    a[0] = lens1;
    for(int i = 1;i <= lens1;i++){
        a[i] = s1[lens1-i] - '0';
    }
    b[0] = lens2;
    for(int i = 1;i <= lens2;i++){
        b[i] = s2[lens2-i] - '0';
    }
    int i = 0;
    for(i = 1;i <= lens1 || i <= lens2;i++){
        c[i] = c[i] + a[i] + b[i];
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    while(i >= 1 && c[i] == 0){
        i--;
    }
    c[0] = i;
    for(int j = c[0]; j >= 1;j--){
        printf("%d",c[j]);
    }
    return 0;
}

标签:s2,大数,int,MAX,s1,lens2,C语言,lens1,加法
From: https://www.cnblogs.com/linhongyu0090/p/17165825.html

相关文章

  • C语言 内存分区
    C语言对内存的使用划分为以下区域:栈区(stack)、堆区(heap)、全局区(静态区)、常量区、代码区。栈区:由编译器自动分配释放,按内存地址从高(地址)到低(地址)存储;栈区内容的作用域......
  • C语言预处理指令
    1、宏操作符##操作符可以把宏参数转换成字符串#include<stdio.h>#defineSTR(n)#nintmain(){printf("STR(n)中的值为:%s",STR(5+6));return0;}通过GCC预编译后可以......
  • 179. 最大数 (Medium)
    问题描述179.最大数(Medium)给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而......
  • c语言运算符优先级实例解析
    壹:  对于优先级:算术运算符>关系运算符>逻辑运算符>赋值运算符。逻辑运算符中“逻辑非!”除外。这是程序员总结出来的最快的学习方式。可在实战中,还是经常遇......
  • 1705.吃苹果的最大数目
    问题描述1705.吃苹果的最大数目中等Thereisaspecialkindofappletreethatgrowsappleseverydayforndays.Ontheithday,thetreegrowsapples[i]appl......
  • 【C语言】ceil、round。
    ......
  • 【C语言】ceil、round。
    ......
  • 计算机程序设计基础课程设计(C语言)[2023-02-28]
    计算机程序设计基础课程设计(C语言)[2023-02-28]计算机程序设计基础课程设计(C语言)设计任务书指导专业:机械电子工程指导教师:高峰仲惟燕机械电子工程学院二〇二二年十......
  • 【C语言】trunc、floor。
    ......
  • 【C语言】trunc、floor。
    ......