#include <stdio.h>
#include <stdlib.h>
//大獎賽積分,函數。
void calScore(int n);
int main( )
{
int judge_num;
int flag=0;
char ch;
while(flag==0)//這個判斷保證了循環至少會執行一次
{
printf("輸入評委人數:");
scanf("%d",&judge_num);
calScore(judge_num);
printf("按任意鍵計算下一位選手的成績,退出請選擇N:\n");
ch=getchar();//接收上一個語句的換行符
ch=getchar();
if(ch=='N'||ch=='n')
{
flag=1; //採用額外定義一個flag,而不是直接用ch進行判斷的原因是爲了便於處理其他的退出情況。
printf("謝謝使用!\n");
}
}
return 0;
}
void calScore(int n)
{
int i;
float score=0;
float sum=0;
float max=0;
float ave=0;
float min=10;//每次循環重新初始化max,min,sum,score
printf("下面請評委爲歌手的評分\n");
for(i=1;i<=n;i++)
{
printf("請第%d位評委輸入評分(1-10之間的數字):",i);
scanf("%f",&score);
if(score<1||score>10)
{
printf("分數錯誤,請輸入1-10之間的分數\n");
i--;//保證當前裁判的分數不會漏掉
continue;
}
sum+=score;
if(score>=max)
max=score;
if(score<=min)
min=score;
}
ave=(sum-max-min)/(n-2);
printf("去掉最高分%.2f,去掉最低分%.2f,當前選手的總分是%.2f,平均分爲%.2f\n",max,min,sum,ave);
}
提高篇第6-10課作業第二題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.