如何在字符串表达的数字上模拟加法以及把字符串表达的数组打印出来

如何在字符串表达的数字上模拟加法以及把字符串表达的数组打印出来
//题目://如何在字符串表达的数字上模拟加法,二是把字符串表达的数字打印出来。
//思想:字符串中的个位+1操作
bool Increment(char* number)
{
    int nTakeOver = 0;//进位标识符
    bool isFlowOver = false;//是否溢出
    //如何将字符串中的字符转为数字呢?
    int len = strlen(number);
    for (int i = len-1; i>=0; --i)
    {
        int nSum = number[i] - '0' + nTakeOver;
        if (i == len-1)
        {
            nSum++;
        }
        if (nSum >= 10)
        {
            if (i == 0)
            {
                isFlowOver = true;//已经达到最大值
            }
            else
            {
                nSum -= 10;
                nTakeOver = 1;
                number[i] = '0'+nSum;
            }
        }
        else
        {
            number[i] = '0' + nSum;
            break;
        }
    }
    return isFlowOver;
}
//如何打印用字符串表示的数字。
void PrintNumber(char* number)
{
    bool isBegining0 = true;
    int nLength = strlen(number);
    for (int i = 0; i < nLength; ++i)
    {
        if(number[i] != '0')
        {
            printf("%c", number[i]);
        }
    }
}

 

posted @ 2017-08-21 11:24  繁星的夜空2012  阅读(317)  评论(0编辑  收藏  举报