class Program { static void Main(string[] args) { Console.WriteLine(Process2(100).ToString()); Console.ReadKey(); } //累加(计算1+2+3+4+...+100的值) public static int Process2(int i) { if (i == 0) { return 0; } else { return Process2(i - 1) + i; } } } //题目:找出字符串中出现次数最多的字符及出现次数 public static void Fun() { string str = "i am amandag!"; Dictionary<char, int> d = new Dictionary<char, int>(); for (int i = 0; i < str.Length; i++) { if (d.ContainsKey(str[i])) { d[str[i]]++; } else { d[str[i]] = 1; } } char max = str[0]; foreach (KeyValuePair<char, int> temp in d) { if (temp.Value > d[max]) { max = temp.Key; } } Console.WriteLine(max + " " + d[max]); } //题目:使用递归求n的阶乘 public static int Func(int n) { if (n < 0) { throw new ArgumentException("不能小于0"); } if (n == 0 || n == 1) { return 1; } return n * Func(n - 1); } //交换两个整数的值,不使用第三个变量 public static void Change(int x, int y) { Console.WriteLine("交换前:/tx={0},y={1}", x, y); 方法一 //x = x ^ y; //y = x ^ y; //x = x ^ y; 方法二 //x = x + y; //y = x - y; //x = x - y; //方法三 x = y + (y = x) * 0; Console.WriteLine("交换后:/tx={0},y={1}", x, y); } class Program { static void Main(string[] args) { //调用 Console.WriteLine(Process3(100).ToString()); Console.ReadKey(); } public static int Process3(int i) { //计算1 -2 +3 +-4+ 5- 6 + 7 - 8 + 9的值 if (i == 0) { return 1; } if (i == 1) { return 2; } else { return Process3(i - 2) + i; } } }