VS2008新建一个asp.net web 应用程序,前台页Default.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="web_yhf_suijishu._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>test</title>
</head>
<body>
    <form id="form1" runat="server">
    <center>
    <div>
   
        <asp:Label ID="Label1" runat="server" Text="输入你要查找的整数,点击“查找”按钮,系统自动生成100个0~100之间的随机数并排好序,查找最靠前的一个:"></asp:Label>
        <br />
        <asp:TextBox ID="TextBox1" runat="server">5</asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查找" />
   
    </div>
    </center>
    </form>
</body>
</html>
 
Default.aspx.cs后台页代码:
 
using System;
namespace web_yhf_suijishu
{
    public partial class _Default : System.Web.UI.Page
    {
        int[] arr = new int[100];
        Random r = new Random();
        //-----你要查找的数
        int inputNum;
        //-----100个数排序后的字符串,为显示排序后的100个数
        string OrderAfterString;
        protected void Page_Load(object sender, EventArgs e)
        {
        }    
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text != "")
            {
                try
                {
                    inputNum = Convert.ToInt32(TextBox1.Text.ToString());
                   // -----------Button1.OnClientClick = "return confirm('" + search() + "')";
                    Response.Write("<script>alert('" + search() + "');window.location.href='Default.aspx'</script>");
                }
                catch
                {
                    Response.Write("<script>alert('你输入的不是整数!');window.location.href='Default.aspx'</script>");
                }
            }    
                
        }
        public string search()
        {
            //生成0~100之间100个随机整数,(0,100)表示最小,最大值,自己可以根据修改
            for (int i = 0; i < 100; i++)
            {
                arr[i] = r.Next(0, 100);              
            }
            //100个随机数从大到小排列
            for (int m = 0; m < 99; m++)
            {
                for (int n = m + 1; n < 100; n++)
                {
                    if (arr[n] < arr[m])
                    {
                        int t = arr[n];
                        arr[n] = arr[m];
                        arr[m] = t;
                    }
                }
            }
            //排好序放到一个字符串以便显示
            foreach (int n in arr)
            {
                OrderAfterString += n.ToString();
                OrderAfterString += " ";
            }
            //二分法查找
            int low = 0;
            int high = arr.Length - 1;
            int middle = 0;
            string msg;
            while (low <= high)
            {
                middle = (low + high) / 2;
                if (inputNum == arr[middle])
                { break; }
                if (inputNum > arr[middle])
                { low = middle + 1; }
                else
                { high = middle - 1; }
            }
            if (low <= high)
            {
                //找到的提示
                return msg = "在100个随机数:" + OrderAfterString + " 找到了你要的数: " + inputNum + " ,位置第 " + (middle + 1) + " 位";
              
            }
            else
            {
               //找不到的提示
                return msg = "在100个随机数:" + OrderAfterString + " 没找到你要的数: " + inputNum;
              
            }
        }
    }
}

这只是个简单的例子,大家根据自己需要改进,如果有好的,希望大家也可以分享。