使用遍历算法,输出字符串中所有‘e’的位置
1 void TraverAlgorithm(string a,int maxIndex,int i,int upe) 2 { 3 if (i == 1) 4 { 5 int e = a.IndexOf('e') + 1 + upe; 6 if (e != maxIndex) 7 { 8 txt.Text += "第" + i.ToString() + "个e的位置为:" + e.ToString()+"\n"; 9 i++; 10 a = a.Substring(e); 11 TraverAlgorithm(a, maxIndex, i,e); 12 } 13 else 14 { 15 txt.Text = "只存在一个e,出现在第" + e.ToString() + "位\n"; 16 } 17 } 18 else 19 { 20 int e = a.IndexOf('e') + 1 + upe; 21 if (e != maxIndex) 22 { 23 txt.Text += "第" + i.ToString() + "个e的位置为:" + e.ToString()+"\n"; 24 i++; 25 a = a.Substring(e-upe); 26 TraverAlgorithm(a, maxIndex, i, e); 27 } 28 else 29 { 30 txt.Text += "第" + i.ToString() + "个e,也是最后一个e的位置为:" + e.ToString()+"\n"; 31 } 32 } 33 }
测试一:
TraverAlgorithm("12e456e89e11e", 10,1,0)
得到结果:
测试二:
TraverAlgorithm("12e456e89e11e", 13, 1, 0);
结果为: