English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

老師說..
叫我們寫一個程式
內容如下..
cout << "請輸入成績" 計算成績
cin >> i score ;

①人數(變數來存)
②平均分數
③最高分(變數來存)
④不及格人數(變數來存)
double 總分數

2007-05-23 08:13:29 · 2 個解答 · 發問者 小依 1 in 電腦與網際網路 程式設計

2 個解答

//第一個版本
#include
using namespace std;
int main()
{
int p=0,score,hi=0,lo=0;
double sum=0;
cout << "請輸入成績 (當輸入的數值小於0時,印出成績計算)\n";
do
{
p=p+1; //人數累計
cin >> score;
if(score>hi) hi=score; //hi 變數為計紀錄最高分
if(score<60) lo=lo+1; //lo 變數為累計不及格人數,在此設不及格分為60以下
if(score>=0) sum=sum+score; //sum 變數為總分累計,當score輸入為正數時累計
} while(score>=0); //當score輸入數值小於0時,結束迴圈
p=p-1; //減去最後輸入負數離開迴圈的無效人次
lo=lo-1; //包括最後輸入負數的不及格人次也要減掉
cout << "人數 : " << p < cout << "平均分數 : " << sum/p << endl;
cout << "最高分 : " << hi << endl;
cout << "不及格人數 : " << lo << endl;
cout << "總分數 : " << sum << endl;
system("PAUSE");
return 0;
}

========================================================
//第二個版本
#include
using namespace std;
int main()
{
int score,j,i=0,hi=0,lo=0;
double sum=0;
cout << "請輸入人數(i值) : ";
cin >> i;
cout << "請輸入成績 (當輸入的數值小於0時,印出成績計算)\n";
for(j=1;j<=i;j++)
{
cin >> score; //輸入成績
if(score>hi) hi=score; //hi 變數為計紀錄最高分
if(score<60) lo=lo+1; //lo 變數為累計不及格人數,在此設不及格分為60以下
if(score>=0) sum=sum+score; //sum 變數為總分累計,當score輸入為正數時累計
}
cout << "人數 : " << i < cout << "平均分數 : " << sum/i << endl;
cout << "最高分 : " << hi << endl;
cout << "不及格人數 : " << lo << endl;
cout << "總分數 : " << sum << endl;
system("PAUSE");
return 0;
}

2007-05-23 13:55:02 補充:
版主 您好 :
由於您的題意並未十分詳盡 , 因此提供兩種版本給您參考 ! 若尚有其他問題請補充或來信告知 . 在下會給予補充回答內容 .
若不滿意回答內容或欲交付投票請先行告知 , 在下會自行刪除回答內容 .

2007-05-23 14:14:36 補充:
第二個版本中 , 請將下列 :

cout << "請輸入成績 (當輸入的數值小於0時,印出成績計算)\n"

改成如下 : (更正如下)

cout << "請輸入成績 (當輸入的次數與 i 值相符時 , 印出成績計算)\n"

多有疏忽請見諒 !

2007-05-23 14:18:45 補充:
特別說明 : 針對兩個版本的程式說明 .
第一個版本不限輸入的次數 , 當輸入為負值時(小於 0) , 才會進行最後的成績計算 .
第二個版本於一開始(使用者輸入決定) i 值(人數)確定後 , 就必須固定輸入相同次數之成績 (成績可輸入負值) , 才會進行最後的成績計算 .

2007-05-23 09:45:28 · answer #1 · answered by 達仔 4 · 0 0

//Power by Visual Studio 2005
#include
#include
#include
using namespace std;
void SORT(int *NUM, int LEN)
{
for(int i=0;i for(int j=i;j if(*(NUM+i)>*(NUM+j))
{
int temp=*(NUM+i);
*(NUM+i)=*(NUM+j);
*(NUM+j)=temp;
}
}
int FLUNK(int *NUM, int LEN)
{
int COUNTER=0;
for(int i=0;i {
if(*(NUM+i)<60)
{
COUNTER++;
}
}
return COUNTER;
}
int main(int argc, char** argv)
{
//==========START==========//
cout<<"輸入最大人數: ";
int number,i=0,highest,flunk;
double sum=0;
cin>>number;
int *score=new int[number];
do
{
cout<<"輸入分數(-1 終止輸入): ";
cin>>*(score+i);
sum+=(*(score+i)!=EOF?*(score+i):0);
}
while(*(score+i++)!=EOF);
SORT(score, --i);
flunk=FLUNK(score, i);
cout<<"人數= "< cout<<"平均分數= "< highest=*(score+--i);
cout<<"最高分= "< cout<<"不及格人數= "< delete [] score;
//==========END==========//
system("PAUSE");
return EXIT_SUCCESS;
}

2007-05-23 10:51:03 · answer #2 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers