zoukankan      html  css  js  c++  java
  • 杭电oj1002即用c++实现两个大数相加

    1. #include<iostream>  
    2. #include<string>  
    3. #include<cstdio>  
    4. using namespace std;  
    5.   
    6. int main()  
    7. {  
    8.     string a,b;  
    9.     int num,sum[1000];//数组尽量开大点,不然很容易越界!  
    10.     cin>>num;  
    11.     for(int l=0;l<num;l++)  
    12.     {  
    13.         cin>>a>>b;  
    14.         int m=0,n=0,temp=0,i,k;  
    15.         int q=0;//用于记录sum数组的长度!!  
    16.         i=a.length();  
    17.         k=b.length();  
    18.         i=i-1;  
    19.         k=k-1;  
    20.         while(i>=0 && k>=0)//像是这样加,会一直加到一个数加完  
    21.         {  
    22.             m=a[i]-'0';  
    23.             n=b[k]-'0';  
    24.             sum[q++]=(temp+m+n)%10;  
    25.             temp=(temp+m+n)/10;//temp取进位,并且加到下一次的加法中  
    26.             i--;  
    27.             k--;  
    28.         }  
    29.         //还需要处理一个长度的问题,判断哪个长,哪个短!  
    30.       if(i>k)//a数比较大,确切的说是比较长!  
    31.       {//cout<<"I am 1"<<endl;  
    32.           while(i>=0)  
    33.           {  
    34.                
    35.              m=a[i]-'0';  
    36.              sum[q++]=(temp+m)%10;  
    37.              temp=(temp+m)/10;
    38.   
    39.              i--;  
    40.           }  
    41.       }  
    42.       if(k>i)  
    43.       {  
    44.          while(k>=0)  
    45.           {  
    46.              m=b[k]-'0';
    47.              sum[q++]=(temp+m)%10;  
    48.              temp=(temp+m)/10;  
    49.              k--;  
    50.           }  
    51.       }  
    52.       sum[q]=temp;   
    53.       cout<<"Case "<<l+1<<":"<<endl;  
    54.      cout<<a<<" + "<<b<<" = ";  
    55.       if(sum[q]!=0) cout<<sum[q];  
    56.           for(--q;q>=0;q--)  
    57.           cout<<sum[q];  
    58.      cout<<endl;  
    59.      if(l<num-1) cout<<endl;  
    60.   
    61.     }
    62.  return 0;  
    63. }  
  • 相关阅读:
    git---如何解决The authenticity of host can't be established.
    前端模板引擎artTemplate.js
    微信小程序
    小程序的项目结构设计
    拖拽插件SortableJS
    iscroll.js的简单使用方法
    头疼的闭包
    关于setTimeout的妙用前端函数节流
    webpack 加载动态图片
    在React中实现条件渲染的7种方法
  • 原文地址:https://www.cnblogs.com/iris-yx/p/3411560.html
Copyright © 2011-2022 走看看