銘宏 發問時間: 電腦與網際網路程式設計 · 10 年前

Dev-C++ 輸入成績0~100

Dev-C++ 要輸入0~100不超過1佰 要什麼加上一ㄍ IF 判斷

程式入下#include <iostream>

#include <cstdlib>

using namespace std;double average(int [], int);

int iMax(int [], int);

int iMin(int [], int);int main()

{

int n;

cout << "請輸入學生人數:";

cin >> n; int *score = new int[n]; // 動態配置記憶體 // 輸入學生成績

for(int i = 0; i < n; i++)

{

cout << "請輸入學生"

<< i+1

<< "的成績:";

cin >> score[i];

}

cout << "平均分數:"

<< average(score, n)

<< "分"

<< endl; cout << "最高分數:"

<< iMax(score, n)

<< "分"

<< endl; cout << "最低分數:"

<< iMin(score, n)

<< "分"

<< endl; delete [] score; // 釋放記憶體 system("PAUSE");

return 0;

}

double average(int s[], int n)

{

int total = 0; for(int i = 0; i < n; i++)

total = total + s[i]; return (double(total) / n);

}int iMax(int s[], int n)

{

int max = s[0];

for(int i = 1; i < n; i++)

if(max < s[i])

max = s[i]; return max;

}int iMin(int s[], int n)

{

int min = s[0]; for(int i = 1; i < n; i++)

if(min > s[i])

min = s[i]; return min;

}

2 個解答

評分
  • 最佳解答

    int *score = new int[n]; // 動態配置記憶體

    // 輸入學生成績

    for(int i = 0; i < n; i++)

    {

    cout << "請輸入學生"<< i+1<< "的成績:";

    cin >> score[i];

    if(score[i]<0&&score[i]>100)//如果輸入的值不在範圍內 就將i--就可以了

    {

    cout<<"請輸入介於0~100之間"<<endl;

    i--;

    }

    }

    2011-05-04 19:06:40 補充:

    恩恩 &&應該改成||

    剛剛沒注意到....SOR

  • 其威
    Lv 7
    10 年前

    回答 001 中

    if(score[i]<0 && score[i]>100)

    應為

    if(score[i]<0 || score[i]>100)

    不然這個判斷永遠不可能會成立.

    score[i] 不可能同時小於 0 又大於 100....

還有問題?馬上發問,尋求解答。