zoukankan      html  css  js  c++  java
  • 【软件工程】寻找一个整型数组的最大值问题

    max函数很简单,但是要考虑的因素有很多

    下边这段程序:

    int lar(int list[],int length)
    {
        int i,max;
        max=list[0];
        for(i=1;i<length-1;i++)
        {
            if(list[i]>max)
                max=list[i];
    
        }
        return max;
    }

    这段程序在测试的时候会有下边这几种情况:

    1、

    2、

    3、

    4、

    5、

    上述情况结果有错误,由于测试出现的情况不可预知,因此要尽量多的考虑到各种情况,不能想当然

    第一种:循环的条件搞错了:将length-1改为length

    第二种:数组为空的情况,本来应该提示错误,加一个if。。。else即可

    第三种:输入为float型,没有检测是否输入合法;

    第四种:与预期结果相同;

    第五种:同第一种。

    错误改正:

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <typeinfo>
    
    using namespace std;
    
    
    int lar(int list[],int length)
    {
        int i,max;
        max=list[0];
        for(i=1;i<length;i++)
        {
            if(list[i]>max)
                max=list[i];
    
        }
        if(max==-858993460)
        {
            cout<<"输入错误"<<endl;
            return 0;
        }
        else
        return max;
    }
    
    void main()              
    {
        int n,a[10];
        int flag=0;
      
        cout<<"数组的长度:";
        cin>>n;
        cout<<"数组内容:";
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
            
        }
        cout<<endl<<"最大的数是:"<<lar(a,n)<<endl;
    
    
    
    
    }
  • 相关阅读:
    899. Orderly Queue
    856. Score of Parentheses
    833. Find And Replace in String
    816. Ambiguous Coordinates
    770. Basic Calculator IV
    冒泡排序(Bubble Sort)
    C
    B
    A
    HDOJ-1391
  • 原文地址:https://www.cnblogs.com/liyawen/p/3581271.html
Copyright © 2011-2022 走看看