zoukankan      html  css  js  c++  java
  • 大数加法(利用数组实现)

    #include<iostream>
    #include<string>
    using namespace std;
    
    const int size = 50;
    
    int main()
    {
    	string s1, s2;
    	cin >> s1 >> s2;
    	int len = (s1.length()>s2.length()) ? s1.length() : s2.length();
    
    	int a1[size] = { 0 };
    	int a2[size] = { 0 };
    	int a3[size] = { 0 };
    
    	//用数组储存两个大数
    	for (int i = 0; i<s1.length(); i++)
    		a1[i] = s1[i] - '0';
    	for (int i = 0; i<s2.length(); i++)
    		a2[i] = s2[i] - '0';
    
    	//进位储存
    	int carry = 0;
    	
    	//结果大数位数储存
    	int j = 0;
    
    	//逆序储存结果
    	for (int i = len - 1; i >= 0; i--)
    	{
    		a3[j] = (a1[i] + a2[i] + carry) % 10;
    		carry = (a1[i] + a2[i] + carry) / 10;
    		j++;
    	}
    	
    	if (carry != 0)
    	{
    		a3[j] = carry;
    		j++;
    	}
    
    	//逆序
    	for (int i = 0; i < j / 2; i++)
    	{
    		int temp = a3[i];
    		a3[i] = a3[j - i - 1];
    		a3[j - i - 1] = temp;
    	}
    	
    	//输出
    	for (int i = 0; i < j; i++)
    		cout << a3[i];
    
    	cout << endl;
    
    	return 0;
    }
    

      

  • 相关阅读:
    栅格系统
    JQuery
    week 4
    week 1
    js嵌套,BOM,DOM,内置对象,数组,自定义对象,正则表达式
    week 2
    case when的两种用法
    获取当前路径
    parse,tryparse区别
    parse ,tryparse 续
  • 原文地址:https://www.cnblogs.com/KennyRom/p/5940711.html
Copyright © 2011-2022 走看看