題目:查詢list[]中的最大值:int Largest(int list[], int length);
int Largest(int list[], int length)
{
int i,max;
for(i = 0; i < (length – 1); i ++ )
{
if(list[i] > max)
{
max=list[i];
}
}
return max;
}
解決方案:
之後對程式進行觀察修改和測試,首先max無初始化值,所以要對max進行初始化。
然後對輸入的數進行判斷,對於特殊的情況要加以規定,例如陣列的個數為零或陣列為空的情況,若遇到這種情況就要輸出“輸入錯誤”
下面是改完的程式:
#include<iostream>
using namespace std;
int largest(int list[],int length)
{
int i,max=list[length-1];
for(i=0;i<(length-1);i++)
{
if(list[i]>max)
{
max=list[i];
}
}
return max;
}
int main()
{
int list[10],length,i;
cout<<"輸入陣列的個數";
cin>>length;
if ( length == 0)
{
cout<<"輸入錯誤";
cout<<endl;
return 0;
}
for(i=0;i<length;i++)
{
cin>>list[i];
}
cout<<largest(list,length);
return 0;
}
最後要對輸入的陣列進行題目的測試:
1. 1 2 3 4 5 ->5
2. 6 4 3 2 1 ->6
3. 1 12 3 0 9 ->12
4. 0 -2 -6 9 7 ->9
5. 1 2 2 2 6 ->6
6. 6 3 10 10 9 ->10