第十周大奖赛(三)

问题及代码:

/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:Annpion.cpp
*作者:李莉
*完成日期:2014年11月01日
*版本号:v1.0
*
*问题描述:输入评委的人数及打分,去掉一个最低分和一个最高分,求其最终得分,然后选择继续程序还是退出程序
*程序输入:输入是个评委的人数及打分
程序输出:最高分,最低分,以及最终得分,继续还是退出
*/
#include <iostream>
#include <cstdio>
#include <iomanip>
using namespace std;

int main()
{
    int n;
    int i;
    char choice;
    double ave,score,min,max,sum;
    cout<<"请输入评委人数:";
    cin>>n;
    cout<<"请输入选手成绩(0~10)"<<endl;
    sum=0;
    max=-1;
    min=11;
    while  (choice!='n'||choice!='N')
    {
        {
            for (i=1; i<=n; i++)
            {
                cout<<"第"<<i<<"位评委打分: ";
                cin>>score;
                if(score<0||score>10)
                {
                    cout<<"第"<<i<<"位评委打分: ";
                    cin>>score;
                    continue;
                }
                sum+=score;
                if (max<=score)
                    max=score;
                if (min>=score)
                    min=score;
            }
            ave=(sum-max-min)/(n-2);
            cout<<"最高分为:"<<max<<endl;
            cout<<"最低分为:"<<min<<endl;
            cout<<setiosflags(ios::fixed)<<setprecision(3)<<"最终得分:"<<ave<<endl;
            cout<<"******************SUCCESS******************"<<endl;
        }
        cout<<"按N或n退出,按其他继续"<<endl;
        cin>>choice;
            if(choice=='n'||choice=='N')
            break;
    }
    return 0;
}

运行结果:

第十周大奖赛(三)_第1张图片
心得体会:

纠结了好久,一直无法继续计算第二名选手的,开始以为是for出的错误,结果没想到是=和==的错误。。。。各种纠结啊。。所以,兄弟们,要以我为戒啊

你可能感兴趣的:(第十周大奖赛(三))