#include<iostream>
using namespace std;
int main()
{
const int c=4; //不是很懂為何要用const來宣告
int n[c],min,max;
for(int i=0;i<c;i++)
{
cout<<"請輸入第"<<i+1<<"個數字:";
cin>>n[i];
}
cout<<"輸入數值分別為:"; //為何不能直接在這行顯示「cout<<n[i]<<" ";」,為何還需要跑個for迴圈??
for(int i=0;i<c;i++)
{
cout<<n[i]<<" ";
}
cout<<endl;
max=n[0];
for(int i=1;i<c;i++)
{
if(n[i]>max)
{
max=n[i];
}
}
cout<<"最大值為:"<<max<<endl;
for(int j=1;j<c;j++)
{
if(n[j]<min)
{
min=n[j];
}
}
cout<<"最小值為:"<<min<<endl;
system("pause");
return 0;
}
錯誤版//超級無敵怪,min在max的前面就正常,在後面就錯誤
![陣列-最大最小值-test 陣列-最大最小值-test](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/hfnkiki/1353643988-1505704389.jpg)
#include<iostream>
using namespace std;
int main()
{
const int c=4; //不是很懂為何要用const來宣告
int n[c],max,min,i; //超級無敵怪,min在max的前面就正常,在後面就錯誤
for(i=0;i<c;i++)
{
cout<<"請輸入第"<<i+1<<"個數字:";
cin>>n[i];
}
cout<<"輸入數值分別為:";
for(i=0;i<c;i++)
{
cout<<n[i]<<" ";
}
cout<<endl;
max=n[0];
for(i=1;i<c;i++)
{
if(n[i]>max)
{
max=n[i];
}
}
cout<<"最大值為:"<<max<<endl;
for(i=1;i<c;i++) // 正確版要自己再另宣告一個變數,不然出現數值會錯亂,但下面暫保留的程式變數一致就沒問題???
{
if(n[i]<min)
{
min=n[i];
}
}
cout<<"最小值為:"<<min<<endl;
system("pause");
return 0;
}
暫保留(正確版)
#include<iostream>
using namespace std;
int main()
{
const int c=4;
int n[c],min,max;
for(int i=0;i<c;i++)
{
cout << "請輸入第" << i+1 << "個數字:";
cin >> n[i];
}
min=n[0];
for(i=1;i<c;i++)
{
if(n[i]<min)
{
min=n[i];
}
}
cout << "最小值為:" <<min<<endl;
for(i=1;i<c;i++)
{
if(n[i]>max)
{
max=n[i];
}
}
cout << "最大值為:" <<max<<endl;
system("pause");
return 0;
}