? 發問時間: 電腦與網際網路程式設計 · 1 0 年前

C++陣列~~請各位幫幫忙><

使用陣列來存放學生的成績

並劃出學生分數分布圖

執行結果:

請輸入學生人數(最多50人):5

請輸入分數

第一位:93

第二位:85

第三位:77

第四位:66

第五位:55

成績分布圖

100:

90~99:=

80~89:=

70~79:=

60~69:=

50~59:=

40~49:

30~39:

20~29:

10~19:

0~9:

已更新項目:

購購大大:請問可以把分布圖的數字改成用等號嗎><

老師說一定要一樣ㄌˊˋ

藍白大大:不行喔!!不定要一樣的><

2 個解答

評分
  • 最佳解答

    #include <iostream>

    using namespace std;

    int main(void)

    {

    int score[50], range[11] = {0}, num;

    cout << "請輸入學生人數(最多50人):";

    cin >> num;

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

    {

    cout << "第" << i+1 << "位:";

    cin >> score[i];

    switch (score[i] / 10)

    {

    case 10:

    range[10]++;

    break;

    case 9:

    range[9]++;

    break;

    case 8:

    range[8]++;

    break;

    case 7:

    range[7]++;

    break;

    case 6:

    range[6]++;

    break;

    case 5:

    range[5]++;

    break;

    case 4:

    range[4]++;

    break;

    case 3:

    range[3]++;

    break;

    case 2:

    range[2]++;

    break;

    case 1:

    range[1]++;

    break;

    case 0:

    range[0]++;

    break;

    }

    }

    cout << endl;

    cout << "成績分布圖" << endl;

    cout << "100: " << range[10] << endl;

    cout << "90~99:" << range[9] << endl;

    cout << "80~89:" << range[8] << endl;

    cout << "70~79:" << range[7] << endl;

    cout << "60~69:" << range[6] << endl;

    cout << "50~59:" << range[5] << endl;

    cout << "40~49:" << range[4] << endl;

    cout << "30~39:" << range[3] << endl;

    cout << "20~29:" << range[2] << endl;

    cout << "10~19:" << range[1] << endl;

    cout << "0~9: " << range[0] << endl;

    return 0;

    }

    2007-06-18 20:31:57 補充:

    「把分布圖的數字改成用等號」?不明白你要的是什麼?

    把:改成=

    這樣嗎?

    那就改成

    cout << "100= " << range[10] << endl;

    cout << "90~99=" << range[9] << endl;

    ......

    其他依此類推

    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    void main(){

    int i,j,k,student[50],score[11]={0};

    cout<<"請輸入學生人數(最多50人):";

    cin>>j;

    while(j<1 && j>50){

    cout<<"輸入錯誤,請輸入學生人數(最多50人):";

    cin>>j;

    }

    cout<<"請輸入分數"<<endl;

    for(i=0;i<j;i++){

    cout<<"第"<<i+1<<"位:";

    cin>>student[i];

    k=student[i]/10;----->計算那個分數區間

    score[k]++;---------->計算該區間的數量

    }

    cout<<"成績分佈圖"<<endl;

    for(i=10;i=>0;i--){

    cout<<i<<":";

    for(j=0;j<score[i];j++)

    cout<<"=";

    cout<<endl;

    }

    }

    哇喜狼大大,這個程式出現的結果會變成10、9、…0,代表10-->100、9-->90~99、…、0-->0~9,這樣不知道你可不可以接受

    參考資料: me
    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。