using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//判断所有值是否为空 (最好验证所有控件的值是否为数字,我这里省略了)
if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == ""
|| textBox3.Text.Trim() == "" || textBox4.Text.Trim() == ""
|| textBox5.Text.Trim() == "" || textBox6.Text.Trim() == ""
|| textBox7.Text.Trim() == "" || textBox8.Text.Trim() == ""
|| textBox9.Text.Trim() == "" || textBox10.Text.Trim() == "")
{
MessageBox.Show("请完成所有分数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
}
else
{
//创建动态数组
ArrayList A_list = new ArrayList();
//添加10个元素
for (int i = 0; i < 10; i++)
{
A_list.Add(i);
}
//分别赋值
A_list[0] = textBox1.Text.Trim();
A_list[1] = textBox2.Text.Trim();
A_list[2] = textBox3.Text.Trim();
A_list[3] = textBox4.Text.Trim();
A_list[4] = textBox5.Text.Trim();
A_list[5] = textBox6.Text.Trim();
A_list[6] = textBox7.Text.Trim();
A_list[7] = textBox8.Text.Trim();
A_list[8] = textBox9.Text.Trim();
A_list[9] = textBox10.Text.Trim();
//对元素的值由小到大排序
A_list.Sort();
//移除元素0
A_list.Remove(A_list[0]);
//刚才移除元素0后,后面的元素就往前移动一位,本来要移除元素9, 现在就变成元素8了
A_list.Remove(A_list[8]);
//定义浮点数变量, 用来获取 总数
double d_value = 0;
//循环相加得到 总数
try
{
for (int i = 0; i < 8; i++)
{
d_value += Convert.ToDouble(A_list[i]);
}
//总数 除以
d_value = d_value / 8;
//取小数后两位(四舍五入)
string s_value = string.Format("{0:F}", d_value);
//显示结果
MessageBox.Show(s_value);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Hand);
Application.Exit();
}
}
}
}
}
1楼说的对
创建一个 ArrayList 数组接收十个分数
用 ArrayList 自带的Sort()方法就能排序
去掉下标第0位和第9位的数 也就是直接循环1-8的数求和
所求和除以8就是平均分了
1.建立一个集合或者数组接收传递的十个分数.
2.将数组排序.
3.for循环,从1到8,做sum
4.将sum/8
最笨的方法:
private void button1_Click(object sender, EventArgs e)
{
double a1;
double a2;
double a3;
double a4;
double a5;
double a6;
double a7;
double a8;
double a9;
double a10;
double s;
if (textBox1.Text.Trim().Length == 0 ||
textBox2.Text.Trim().Length == 0 ||
textBox3.Text.Trim().Length == 0 ||
textBox4.Text.Trim().Length == 0 ||
textBox5.Text.Trim().Length == 0 ||
textBox6.Text.Trim().Length == 0 ||
textBox7.Text.Trim().Length == 0 ||
textBox8.Text.Trim().Length == 0 ||
textBox9.Text.Trim().Length == 0 ||
textBox10.Text.Trim().Length == 0)
{
MessageBox.Show("正确的な分数を追加してください");
}
else
{
a1 = Convert.ToDouble(textBox1.Text);
a2 = Convert.ToDouble(textBox2.Text);
a3 = Convert.ToDouble(textBox3.Text);
a4 = Convert.ToDouble(textBox4.Text);
a5 = Convert.ToDouble(textBox5.Text);
a6 = Convert.ToDouble(textBox6.Text);
a7 = Convert.ToDouble(textBox7.Text);
a8 = Convert.ToDouble(textBox8.Text);
a9 = Convert.ToDouble(textBox9.Text);
a10 = Convert.ToDouble(textBox10.Text);
//最大
if (a1 > a2)
{
if (a1 > a3)
{
if (a1 > a4)
{
if (a1 > a5)
{
if (a1 > a6)
{
if (a1 > a7)
{
if (a1 > a8)
{
if (a1 > a9)
{
if (a1 > a10)
{
a1 = 0;
}
}
}
}
}
}
}
}
}
if (a2 > a1)
{
if (a2 > a3)
{
if (a2 > a4)
{
if (a2 > a5)
{
if (a2 > a6)
{
if (a2 > a7)
{
if (a2 > a8)
{
if (a2 > a9)
{
if (a2 > a10)
{
a2 = 0;
}
}
}
}
}
}
}
}
}
if (a3 > a1)
{
if (a3 > a2)
{
if (a3 > a4)
{
if (a3 > a5)
{
if (a3 > a6)
{
if (a3 > a7)
{
if (a3 > a8)
{
if (a3 > a9)
{
if (a3 > a10)
{
a3 = 0;
}
}
}
}
}
}
}
}
}
if (a4 > a1)
{
if (a4 > a2)
{
if (a4 > a3)
{
if (a4 > a5)
{
if (a4 > a6)
{
if (a4 > a7)
{
if (a4 > a8)
{
if (a4 > a9)
{
if (a4 > a10)
{
a4 = 0;
}
}
}
}
}
}
}
}
}
if (a5 > a1)
{
if (a5 > a2)
{
if (a5 > a3)
{
if (a5 > a4)
{
if (a5 > a6)
{
if (a5> a7)
{
if (a5 > a8)
{
if (a5 > a9)
{
if (a5 > a10)
{
a5 = 0;
}
}
}
}
}
}
}
}
}
if (a6 > a1)
{
if (a6 > a2)
{
if (a6 > a3)
{
if (a6 > a4)
{
if (a6 > a5)
{
if (a6 > a7)
{
if (a6 > a8)
{
if (a6 > a9)
{
if (a6 > a10)
{
a6 = 0;
}
}
}
}
}
}
}
}
}
if (a7 > a1)
{
if (a7 > a2)
{
if (a7 > a3)
{
if (a7 > a4)
{
if (a7 > a5)
{
if (a7 > a6)
{
if (a7 > a8)
{
if (a7 > a9)
{
if (a7 > a10)
{
a7 = 0;
}
}
}
}
}
}
}
}
}
if (a8 > a1)
{
if (a8 > a2)
{
if (a8 > a3)
{
if (a8 > a4)
{
if (a8 > a5)
{
if (a8 > a6)
{
if (a8 > a7)
{
if (a8 > a9)
{
if (a8 > a10)
{
a8 = 0;
}
}
}
}
}
}
}
}
}
if (a9 > a1)
{
if (a9 > a2)
{
if (a9 > a3)
{
if (a9 > a4)
{
if (a9 > a5)
{
if (a9 > a6)
{
if (a9 > a7)
{
if (a9 > a8)
{
if (a9 > a10)
{
a9 = 0;
}
}
}
}
}
}
}
}
}
if (a10 > a1)
{
if (a10 > a2)
{
if (a10 > a3)
{
if (a10 > a4)
{
if (a10 > a5)
{
if (a10 > a6)
{
if (a10 > a7)
{
if (a10 > a8)
{
if (a10 > a9)
{
a10 = 0;
}
}
}
}
}
}
}
}
}
//最小 没写
s = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10;
textBox11.Text = Convert.ToString(s / 10);