第10周项目4大奖赛计分(及时纠错保证输入正确的分数)

问题及代码:

/* 
*Copyright (c)2014,烟台大学计算机与控制工程学院 
*All rights reserved. 
*文件名称:score.cpp 
*作    者:单昕昕 
*完成日期:2014年11月2日 
*版 本 号:v1.0 
* 
*问题描述:在歌手大奖赛中,有若干评委为参赛的选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余8个分数的平均值。 
*程序输入:若干个评委为参赛的选手打分. 
*程序输出:选手最后得分为:去掉一个最高分和一个最低分后,取其余分数的平均值。 
*/  
#include <iostream>
#include <iomanip>
#include <cstdio>
using namespace std;
int main()
{
    double s,t,sum=0,max=0,min=10;
    int i=1,p;
    cout<<"请输入评委的人数:"<<endl;
    cin>>p;
    cout<<"请输入选手的成绩(0-10):"<<endl;
    while(i<=p)
    {
        cin>>s;
        if(s>=0&&s<=10)
        {
            cout<<"第"<<i<<"位评委给分:"<<s<<"分"<<endl;
        sum+=s;
        if(max<s)
            max=s;
        if(min>s)
            min=s;
        i++;
        }
        else
            {
            cout<<"分数不在正确范围内,请检查并请重新输入该选手的成绩(0-10)"<<endl;
            continue;
            }
    }
    t=(sum-max-min)/(p-2);
    cout<<"减去一个最高分:"<<max<<"分,"<<"减去一个最低分:"<<min<<"分"<<endl;
    cout<<"当前选手的最后得分是:"<<t<<"分"<<endl;
    char *pt="SUCCESS";
    cout<<setfill('*')<<setw(20)<<pt<<"********************"<<endl;
    return 0;
}


 

运行结果:

 

知识点总结:

运用了continue语句使可以再次输入。用

学习心得:

尝试着使用setfill('*')<<setw(20)来填充,但是右边的我不会自动填充啊,只能手动了。。求指教~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值