C++解决大整数加法

C++解决大整数加法c 解决大整数加法问题描述 求两个不超过 200 为的非负整数的和输入数据 输入有两行 每行是一个不超过 200 位的非负整数 没有多于的前导 0 输出要求 输出只一行 即相加后的结果 结果里不能有多于的前导 0 即如果结果是 342 那么就不能输出 0342 输入样例 输出样例 55555

c++解决大整数加法

问题描述:求两个不超过200为的非负整数的和

输入数据:输入有两行,每行是一个不超过200位的非负整数,没有多于的前导0.

输出要求:输出只一行,即相加后的结果。结果里不能有多于的前导0,即如果结果是342,那么就不能输出0342.

输入样例:

222

333

输出样例:

555

解题思路:int类型数据最多10位,double类型数据最多64位,因此,不能直接利用int或double类型数据相加求解。应考虑用数组(为方便读入数据,采用字符数组),采用列竖式的思路,对位相加,在考虑进位,最终求解。

C++代码如下:

#include 
  
    #include 
   
     using namespace std; int main() { //定义变量 char x1[200]={'\0'};//两个不超过200位的加数 char x2[200]={'\0'}; int carry[201]={0};//进位 int result[201]={0};//和 int i;//循环变量 //输入 cin>>x1>>x2; //求两char数组长度 int len1=strlen(x1); int len2=strlen(x2); //反序 strrev(x1); strrev(x2); //确定两序列长度的最大值 int lenmax=len1*(len1>=len2)+len2*(len1 
    
      =0;i--) cout< 
      
     
    
  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177707.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:54
下一篇 2026年3月26日 下午6:54


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号