1. 声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换?
int n1 = 10;int n2 = 20;n1 = n1 + n2;n2 = n1 - n2;n1 = n1 - n2;Console.WriteLine("n1:{0},n2:{1}", n1, n2);
2. 用方法来实现:将上题封装一个方法来做。提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。(*)
static void Main(string[] args) { int n1 = 10, n2 = 20; Repalce(ref n1,ref n2); Console.WriteLine("n1={0},n2={1}", n1, n2); Console.ReadKey(); } static void Repalce(ref int n1,ref int n2) { n1 = n2 - n1; n2 = n2 - n1; n1 = n2 + n1; }
3. 请用户输入一个字符串,计算字符串中的字符个数,并输出。
string msg = Console.ReadLine();Console.WriteLine("字符个数为:{0}", msg.Length);
4. 用方法来实现:计算两个数的最大值。思考:方法的参数?返回值?扩展(*):计算任意多个数间的最大值(提示:params)。
5. 用方法来实现:计算1-100之间的所有整数的和。
6. 用方法来实现:计算1-100之间的所有奇数的和。
int sum = 0; for (int i = 1; i <= 100; i++){ if (i%2!=0) { continue; } sum += i;}Console.WriteLine("1-100之间的所有奇数的和为{0}", sum);
7. 用方法来实现:判断一个给定的整数是否为“质数”。
8. 用方法来实现:计算1-100之间的所有质数(素数)的和。
static void Main(string[] args) { int startNum = 1, endNum = 100; int sum = 0; for (int i = startNum; i <= endNum; i++) { if (IsZhishu(i)) { sum += i; } } Console.WriteLine(sum); Console.ReadKey(); } static bool IsZhishu(int num) { bool isZhishu = true; for (int i = 2; i <= (int)Math.Sqrt(num); i++) { if (num % i == 0) { isZhishu = false; } } return isZhishu;}
9. 用方法来实现:有一个整数数组:{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 },找出其中最大值,并输出。不能调用数组的Max()方法。
10. 用方法来实现:有一个字符串数组:{ "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" },请输出最长的字符串。
static string GetMaxString(string[] arrNames) { string maxName = arrNames[0]; for (int i = 0; i < arrNames.Length; i++) { if (arrNames[i].Length > maxName.Length) { maxName = arrNames[i]; } } return maxName; }