zoukankan      html  css  js  c++  java
  • 计蒜课_加一

    使用数组的来表示一个较大的数:

    #include<iostream>
    using namespace std;
    void add(int* &a, int length) {
        int c = 1;
        //c代表进位,完成对数组的更新,并保留最高为的进位;
        for (int i = length - 1;i >= 0;i--) {
            if ((a[i] += c) == 10) {
                c = 1;
                a[i] = 0;
            }
            else {
                c = 0;
            }
        }
        if (c == 1) {//最高位发生进位;
            int*oldElem = a;//保留旧的数组地址;
            a = new int[++length];
            //将就数组数据迁至新数组;
            for (int i = 0, k = 1;k<length;k++)
                a[k] = oldElem[i++];
            a[0] = 1;//最高位赋值为1;
            delete[]oldElem;
        }
        for (int i = 0;i<length;i++)//数据的输出;
            cout << a[i] << " ";
    
    }
    int main()
    {
        int n;
        cin>>n;
        int* a = new int[n];
        for (int i = 0;i<n;i++)
            cin >> a[i];
        add(a, n);
        delete[]a;
    }
    
    如有不当,欢迎指正 :)
  • 相关阅读:
    Windows7共享设置
    13-运算符
    13-数据类型转换
    06-移动web之flex布局
    09-sass
    08-less预处理器
    移动端必须掌握知识点
    11-JS变量
    10-响应式
    07-rem
  • 原文地址:https://www.cnblogs.com/lif323/p/6790605.html
Copyright © 2011-2022 走看看