首页 > 其他分享 >求两大数和

求两大数和

时间:2024-12-27 20:58:53浏览次数:7  
标签:num1 num2 大数 int start result

题目描述

大数加法问题

大数的输入不能简单定义整数变量,因为存不下这么大的数,要采用字符串输入方式,把大数存入到字符串中,按照数码位个位对齐,逐个数码位相加

数字字符做对应数值的加法规则

'5'+'8'  =>   ('5'-'0')+('8'-'0')=13 

13表示有个进位1 ,数字3=>  3+'0' =>'3'

本题求多组大数的加法,结果每行占一行

输入

第一行输入一个整数n(n<=20)
以下n行中每行包含两个整数(大数)

输出

求两个大数和的结果,每行一个

样例输入

2 111111111111111111111 222222222222222222222 999 888

样例输出

333333333333333333333 1887

提示

 两个大数的输入可以采用scanf("%s %s",a,b);

#include <stdio.h>
#include <string.h>

#define MAX_LENGTH 110 // 为了存储大数,设置一个足够大的长度

void addLargeNumbers(char* num1, char* num2, char* result) {
    int len1 = strlen(num1);
    int len2 = strlen(num2);
    int carry = 0; // 进位
    int i, j, k;

    // 从尾部开始加
    for (i = len1 - 1, j = len2 - 1, k = 0; i >= 0 || j >= 0 || carry; i--, j--, k++) {
        int digit1 = (i >= 0) ? num1[i] - '0' : 0; // 如果num1已经加完,则取0
        int digit2 = (j >= 0) ? num2[j] - '0' : 0; // 如果num2已经加完,则取0

        int sum = digit1 + digit2 + carry; // 计算当前位的和
        carry = sum / 10; // 计算进位
        result[k] = (sum % 10) + '0'; // 记录当前位
    }

    // 反转结果字符串
    result[k] = '\0'; // 添加字符串结束符
    for (int start = 0, end = k - 1; start < end; start++, end--) {
        char temp = result[start];
        result[start] = result[end];
        result[end] = temp;
    }
}

int main() {
    int n;
    scanf("%d", &n); // 读取测试案例的数量

    for (int i = 0; i < n; i++) {
        char num1[MAX_LENGTH], num2[MAX_LENGTH], result[MAX_LENGTH];
        scanf("%s %s", num1, num2); // 读取两个大数

        addLargeNumbers(num1, num2, result); // 进行大数加法
        printf("%s\n", result); // 打印结果
    }

    return 0;
}

 

标签:num1,num2,大数,int,start,result
From: https://blog.csdn.net/ssssswwzm/article/details/144753627

相关文章

  • Redis-十大数据类型
    Reids数据类型指的是value的类型,key都是字符串redis-server:启动redis服务redis-cli:进入redis交互式终端常用的key的操作redis的命令和参数不区分大小写,key和value区分1、查看当前库所有的keykeys*2、判断某个key是否存在existskey3、查看key是什么类型......
  • 郴州年夜饭大数据分析:Python爬虫的美味之旅
    在春节这个阖家团圆的日子里,年夜饭无疑是最具仪式感的一餐。郴州,这座美食之城,其年夜饭的餐桌上自然少不了那些让人垂涎三尺的地道美食。作为一名热爱美食的程序员,我决定用Python爬虫技术,为大家揭秘郴州年夜饭的必备菜品。以下是我如何通过Python爬虫获取郴州年夜饭菜品信息,......
  • 【java毕设 python毕设 大数据毕设】基于springboot的学生宿舍管理系统的设计与实现
    ✍✍计算机毕设编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......
  • 医院大数据平台建设:基于快速流程化工具集的考察
    一、大数据平台搭建(一)基础环境准备搭建医院大数据平台,首先需准备好基础环境,这是后续软件安装与配置能够顺利进行的重要前提。在硬件方面,要根据医院的数据规模和预期使用情况,配备足够性能的服务器、存储设备等。服务器的处理器性能、内存大小以及存储设备的容量和读写速度等......
  • 计算机毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......
  • 【java毕设 python毕设 大数据毕设】基于springboot校园失物招领系统的设计与实现 适
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 【java毕设 python毕设 大数据毕设】基于springboot的小学生古诗词学习软件的设计与实
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 179. 最大数
    最大数给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例1:输入:nums=[10,2]输出:"210"示例2:输入:nums=[3,30,34,5,9]输出:"9534330"思路这道题和LCR164.破解闯关......
  • 基于 Python 大数据的拼团购物数据分析系统的设计与实现
    标题:基于Python大数据的拼团购物数据分析系统的设计与实现内容:1.摘要本文设计并实现了一个基于Python大数据的拼团购物数据分析系统。通过对拼团购物数据的收集、清洗和分析,系统能够为商家提供用户行为分析、商品销售情况分析等功能,帮助商家更好地了解用户需求,优化商品......
  • 2025最全大数据工程师学习路线(建议收藏)
      找工作、写论文、项目实训以及实战项目课程学习私信我哟【不要错过文末彩蛋】申明:本文旨在为【大数据自学者|大数据专业学生|工资低的程序员(Java/Python等)】提供一个从入门到入职的的大数据技术学习路径,不适合5年以上大数据工程师的进阶学习。前言:一、个人介绍二、......