c# asp.net 环境下,有10个文本框,求输入数值的最小值,允许为某些文本框不输入数为空。

输入数据为double双精度类型。最好直接给代码。用S1~S10表示文本框~谢谢~

输入数值有上下限要求么?最大有多大?最小有多小?输入的是整数还是浮点数,楼主给补充下。。。追问

输入数据为double双精度类型。最好直接给代码。用S1~S10表示文本框~谢谢~

追答

public partial class _Default : System.Web.UI.Page
{
double[] a = new double[10];
TextBox[] s = new TextBox[10];
protected void Page_Load(object sender, EventArgs e)
{

for (int i = 0; i < s.Length; i++)
{
s[i] = new TextBox();
this.Page.Form.Controls.Add(s[i]);

}

}
protected void Button1_Click(object sender, EventArgs e)
{
for (int j = 0; j < s.Length; j++)
{
if (s[j].Text != "")
a[j] = float.Parse(s[j].Text);
else
a[j] = 1.0E+6;
}
double temp=1.0E+6;
for (int k = 0; k < s.Length; k++)
{
if (a[k] < temp)
temp = a[k];
}
Response.Write("最小数位:" + temp );
}
}
楼主往页面上添一个Button就行了,textbox不用添了

追问

double [] NumArry = {p1,p2,p3,p4,p5,p6,p7,p8,p9,p10};
double minNum = NumArry[0];
for (int i = 0; i < NumArry.Length; i++)
{
if(NumArry[i]!=0)
{
minNum=NumArry[i];
break;
}
}
for (int i = 1; i < NumArry.Length; i++)
{
if(NumArry[i]!=0)
{
if (NumArry[i] < minNum)
{ //循环判断小
minNum=NumArry[i];
}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-11
先把所有文本框的值取出来
然后用一个中间变量 一个个比对 中间变量存储每次比对最小的那个值
完了后中间变量的值就是最小值

声明一个长度为10的double数组num
num[0]=s0.text;//这里可以tryParse()检查是否是double类型
.....
double temp = num[0];
foreach(double d in num)
{
if(d>temp)
d= temp;
}

//temp就是最小值
第2个回答  2011-11-11
冒泡法会么楼主?
定义一个size为10的double[],将10个textbox的值输入付给数组,为空值的textbox则给数组赋0
再对数组用冒泡法排序,从小到大,排序完成后 输出数组的第一个值即是最小的