發文作者:skyx | 2008/06/21

[C++]計算統計輸入的數據


很久沒有寫編程的文章了,差點忘了我自己定下的分類 = ="

今天到程式區看到一些人問的問題,通常我都是挑一些不是十分簡單,也不是十分難的題目,因為萬一找一條很有深度意思的題目…我鑽進去…那我的工作怎麼辦呢…+.+(還有另一原因是對程式沒興趣的人看我的BLOG會睡著的 – -b)

所以找了這題來開一下手,C++又好幾個月沒用過了 = =

題目:重複由鍵盤輸入一個成績,至該成績為負數停止,輸出及格人數,不及格人數,平均分數

思路:很直接,一個循環裡面,拿分數出來判斷一下,記錄總分,不合格人數,合格人數,平均分就用總分除總人數得到。

代碼:(VS C++ 2005 編譯通過)

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main ()
{
      int temp;
      int total=0,counter=0,pass=0,no_pass=0;
      float arg;
      string string_in;

      while (true){
              getline(cin,string_in); //從標準輸入流取得一行的字串值
              temp = atoi(string_in.c_str()); //把string轉為int放到temp裡

             if (temp<0){ //輸入為負數結束
                    cout<<“輸入結束"<<endl;
                    if (counter==0) //特例, 當一開始輸入為負數時,分母為零
                           arg=0; //直接給特定值
                    else
                           arg=(float)total/(float)counter; //總分除以總人數

                    cout<<“合格人數:"<<pass<<“\n不合格人數:"<<no_pass<<“\n\n平均分數:"<<arg<<endl; //打印結果
                    system(“pause");
                    exit(0);
             }

                   if (temp>=60) //合格人數
                          pass+=1; //累加
                   else
                         no_pass+=1; //累加不合格人數

                   total+=temp; //累加總分
                   counter++; //累加人數

         }

}

提供cpp檔下載,在右邊的BOX欄裡,名字是mark_counter.cpp。

有空寫一下VB的…(希望下一篇不要是C/C++的  XD)

PS: BLOG文的標題真難想 = =b


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

分類

%d 位部落客按了讚: