问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 大奖赛记分.cpp
*作 者 :白云飞
*完成日期 :2014年11月3号
*版 本 号 :v1.0
*
*问题描述 :在歌手大奖赛给选手打分去掉一个最高分和一个最低分求出平均分。
*输入描述 :若干数字,代表选手成绩。
*程序输出 :选手得分情况。
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char d;
do
{
double i,a,b,c,sum=0,max=-1,min=11,average;//声明变量
cout<<"请输入评委人数:";
cin>>c;
cout<<"请输入选手的成绩(0——10):"<<endl;
for(i=1;i<=c;++i)//循环语句
{
cout<<"第"<<i<<"位评委给分:";
cin>>a;
if(a>10||a<0)
{
cout<<"请重新输入分数"<<endl;
i=i-1;
continue;
}
b=a;
sum+=a;
if(b>=max&&b<=10) max=b;
if(b<=min&&b>=0) min=b;
}
cout << "去掉一个最高分:" <<max;
cout << " 去掉一个最低分:" <<min<< endl;
sum=(average=(sum-max-min)/(c-2));
cout <<"当前选手的最后得分是:"<<sum<<endl;//输出结果
cout <<"********************SUCCESS********************"<<endl;
cout <<"按n退出,其他继续: ";
cin >>d;
}
while(d!='n');//进行判断
return 0;
}
运行结果:
知识点总结:
运用for语句和if语句的嵌套完成编程
学习心得:
这个代码想了好久,总有地方不对,试了一次又一次找不出错误,多亏了课代表和小组长(小组长让我加上他),才发现其中的奥秘,原来是没赋初值,下次一定要细心,至于单步执行。。。。。。写学习心得时,才想起来有这个技巧的存在。。。。。。说多了都是泪啊!