神啊,使用递归帮我一下啊
问你们一个问题了输入一个数字比如325使用递归函数,把300,20,5作为父节点,在300的父节点下添加200,100为子节点,20父节点下添加10子节点,5父节点下添加4,3,2,1使用递归以此类推 --------------------编程问答--------------------
--------------------编程问答-------------------- 递归在程序中很常用,楼主要多做练习啊
//写的不好,高手优化代码的快来。
private void button1_Click(object sender, EventArgs e)
{
getTreeStuts(int.Parse(textBox1.Text));//得到数组就是,现在支持最大4位,要扩展可以修改kkk函数。
}
private ArrayList getTreeStuts(int para)
{
ArrayList al = new ArrayList();
int kk = 1;
kk = kkk(para);
for (int i = 0; i < para.ToString().Length; i++)
{
al.Add(getF(int.Parse(para.ToString().Substring(i, 1)) * kk));
kk = kk / 10;
}
return al;
}
private ArrayList getF(int para)
{
ArrayList al = new ArrayList();
int kk = 1;
kk = kkk(para);
int i=0;
while (i<para)
{
al.Add(para);
para = para - kk;
}
return al;
}
private int kkk(int para)
{
int kk = 1;
switch (para.ToString().Length)
{
case 4:
kk = 1000;
break;
case 3:
kk = 100;
break;
case 2:
kk = 10;
break;
default:
kk = 1;
break;
}
return kk;
}
补充:.NET技术 , C#