题目

        从控制台输入若干个整数作为数组,将数组中每一个元素除以第一个元素的结果,作为新的数组元素值。比如:可以先输入3,作为数组元素的个数;然后输入3个整数,作为数组元素的值。

C++面试宝典第12题:数组元素相除-LMLPHP

解析

        这道题本身并不复杂,但里面隐藏了不少“坑点”和“雷区”,主要考察应聘者全面思考问题的能力。

        一些应聘者咋看这道题,觉得非常简单,很快便写出了下面的示例代码。

#include <iostream>
using namespace std;

static void DivArray(int *pnArray, int nSize)
{
    for (int i = 0; i < nSize; i++)
    {
        pnArray[i] /= pnArray[0];
    }
}

int main()
{
    int nSize = 0;
    cin >> nSize;
    int *pnNumber = new int[nSize];
    for (int i = 0; i < nSize; i++)
    {
        cin >> (*pnNumber++);
    }

    DivArray(pnNumber, nSize);
    delete pnNumber;
    pnNumber = NULL;
    getchar();
   
01-04 23:40