分析求一个整型数组的最大值

分析:

1、自己控制数组元素的个数、当初用C写的,在定义一个长度不确定的数组时用C写不可以,可以使用C的malloc函数或者C++的new函数来在堆上动态分配内存,这样长度是完全可以自定的。

2、判断输入元素是否为数字,这里用了cin.fail函数

3、当输入的数组长度为0时,这个加了一句提示信息

4、当输入的元素都一样时,会怎么样

以下是实现的代码:

 

#include<iostream>
using namespace std; 

int Largest(int list[],int length){
    int i;
    int max=list[0];
    if(list==NULL||length==0)
    { 
        cout<<"数组元素不能为空!"<<endl;
    }
    else
    {

    for(i=0;i<=(length-1);i++)
    {
        if(list[i]>max)
        {
            max=list[i];
        }
    }
    }
    return (max);
}
void main()
{
    int j;
    int list[1000];
    int i;
    int k;   
    cout<<"请输入数组的个数:";
    cin>>j;
    cout<<endl;
    cout<<"请输入数组元素:";
    for(i=0;i<j;i++)
    {   
         cin>>list[i];
         if (cin.fail())
        {
            cout<<"您的输入有误,读入非数字"<<endl;
            break;
            cin.clear();
            fflush(stdin);
 
        }
         
    }
    k=Largest(list,j);

cout<<"最大的数为:"<<k<<endl;
}

 

运行结果:

通过老师的提示,明白了凡事不能想当然,多说几个如果,会使思考问题更加全面,使程序更加友好,乃至做事更加谨慎。

 

posted @ 2014-03-08 19:54  真真-是我  阅读(842)  评论(0编辑  收藏  举报