您的位置:首页 > 其它

例题:青歌赛打分程序。去掉两个最高分,去掉两个最低分,再算平均分。主要学习数组和冒泡排序,什么情况下要定义数组

2015-04-14 22:19 351 查看
Console.Write("请输入评委人数:");//输入人数

int renshu = Convert.ToInt32(Console.ReadLine());//人数代入

int[] fenshu = new int[renshu];//定义一个分数的数组,长度为人数

if (renshu >= 5)//去掉连个最高分,去掉两个最低分,所以至少五个人

{

for (int i = 0; i < renshu; i++)

{

Console.Write("请输入第" + (i + 1) + "个评委打的分数:");

fenshu[i] = Convert.ToInt32(Console.ReadLine());

}

for (int i = 0; i < renshu; i++)

{

for (int j = i; j < renshu - 1; j++)//冒泡排序,按分数从高到低排列

{

if (fenshu[i] < fenshu[j + 1])

{

int zhong = 0;

zhong = fenshu[i];

fenshu[i] = fenshu[j + 1];

fenshu[j + 1] = zhong;

}

}

}

int he = 0;//计算总分,初始值为0

for (int i = 0; i < renshu; i++)

{

he += fenshu[i];//循环计算总分

}

double pjf = 0;//初始值为0

pjf = (he - fenshu[0] - fenshu[1] - fenshu[renshu - 1] - fenshu[renshu - 2]) / (renshu - 4); //计算平均分。fenshu[renshu - 1] , fenshu[renshu - 2]),这两个分别代表最低分,和倒数第二个最低分,可能不好理解。在上一步冒泡循环中,已经将分数排好。renshu代表下标的的长度,减一就是下标的最后一个位置,就是最低分

Console.WriteLine("去掉两个最高分" + fenshu[0] + "," + fenshu[1] + ",去掉两个最低分" + fenshu[renshu - 1] + "," + fenshu[renshu - 2] + "选手最后得分为" + pjf);

}

else

{

Console.WriteLine("请输入至少五个人数");

}

Console.ReadLine();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐