日期:2014-05-19  浏览次数:20534 次

ASP.NET(VS2003)如何编写排列组合-汉字穷举
本人想用ASP.NET(VS2003)编写一段可以将汉字穷举的程序!!!  
简单点就行,只用到三个文本框和一个按扭就好!  
在第一个文本框输入一段文字,比如“你好吗”  
在第二个文本框输入另一段文字,比如“我很好”  
然后点击按扭,在第三个文本框内显示答案,也就是第一个文本框内的所有文字和第二个文本框内的所有文字一一组合后的结果!!!  
格式如下:
你我   你很   你好  
好我   好很   好好  
吗我   吗很   吗好  
每组用空格间隔,新的排列换行,基本就是这样!!!!  
请各位高人指点!!!!  
不要用到数据库,如用到其数据绑定类控件,请详加说明,不胜感激!!
请一定要给出详细的原代码,最好是编写完在笔者机器里能正常运行的!!!

------解决方案--------------------
string str1 = "你我他 "; string str2 = "来去好坏 "; System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < str1.Length; i++) { for (int j = 0; j < str2.Length; j++) { sb.Append(str1.Substring(i, 1) + str2.Substring(j, 1) + "&nbsp; "); } sb.Append( " <BR> "); } Response.Write(sb.ToString()); sb = null;
------解决方案--------------------
写个大概 测试通过 效率自己修改

.aspx

<asp:TextBox id= "txt_1 " runat= "server "> </asp:TextBox>
<asp:TextBox id= "txt_2 " runat= "server "> </asp:TextBox>
<asp:Button id= "Button2 " runat= "server " Text= "穷举 "> </asp:Button>

================
.cs

private void 穷举()
{
string str1 = txt_1.Text.Trim();
string str2 = txt_2.Text.Trim();
for(int i=0 ;i <str1.Length ;i++)
{
for(int j=0 ; j <str2.Length ;j++)
{
Response.Write(str1[i].ToString()+str2[j].ToString()+ " ");
}
Response.Write( " <br> ");
}
}

private void Button2_Click(object sender, System.EventArgs e)
{
穷举();
}