函数:能够独立完成某项功能的模块。
函数四要素:输入、输出、函数体、函数名
函数定义:
(static/public) 返回类型 函数名(参数类型 参数名,参数类型 参数名)
{
函数体
}
函数的调用:
返回变量类型 变量名 = 函数(实参值)
传值:四种方式
1.没有返回值,没有输入值
2.没有返回值,有输入值
3.有返回值,没有输入值
4.有返回值,有输入值
函数是写在class类里面,main函数上面,也可新建一个类,写入函数,只要namespace相同,就可调用class里面的函数
//传值 //函数的分类 //1.没有返回值,没有输入值 //public void Hanshu() //{ //} //2.没有返回值,有输入值 //public void Hanshu(int a) //{ //} //3.有返回值,没有输入值 //public int/double Hanshu() //{ // return 变量名; //} //4.有返回值,有输入值 //public int/string Hanshu(int a /string a) //{ // return 变量名; //}
/// <summary> /// 累加求和方法1,没有返回值,没有输入值 /// </summary> public void Leijia1() { Console.Write("请输入一个正整数"); int a = int.Parse(Console.ReadLine()); int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } Console.WriteLine(sum); } /// <summary> /// 累加求和方法2,没有返回值,有输入值 /// </summary> /// <param name="a"></param> public void Leijia2(int a) { int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } Console.WriteLine(sum); } /// <summary> /// 累加求和方法3,有返回值,没有输入值 /// </summary> /// <returns></returns> public int Leijia3() { Console.Write("请输入一个正整数"); int a = int.Parse(Console.ReadLine()); int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } return sum; } /// <summary> /// 累加求和方法4,有返回值,有输入值 /// </summary> /// <param name="a"></param> /// <returns></returns> public int Leijia4(int a) { int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } return sum; } static void Main(string[] args) { Program h = new Program();//初始化 h.Leijia1();//没返回,没输出//输入5,回车,得到15 h.Leijia2(5);//没返回,有输出//直接得到15 int sum = h.Leijia3();//有返回值,没输出值//定义与返回值相同数据类型的变量来接收返回值//先执行完函数这个方法,再赋值,再打印 Console.WriteLine(sum); int sum1 = h.Leijia4(6);//有返回值,有输出值//启动后直接显示21 Console.WriteLine(sum1); Console.ReadLine();
求n的阶乘函数:
/// <summary> /// 阶乘,有返回值,没有输入值 /// </summary> /// <returns></returns> public int JieCheng() { Console.Write("请输入一个正整数:"); int a = int.Parse(Console.ReadLine()); int jie = 1; for (int i = 1; i < a; i++) { jie *= i; } return jie; }
求1!+2!+3!+······n!函数:
/// <summary> /// 求1!~n!之和,有返回值,有输入值 /// </summary> /// <param name="a"></param> /// <returns></returns> public int Jiechengqiuhe(int a) { int sum = 0, s = 1; for (int i = 1; i <= a; i++) { s *= i; sum += s; } return sum; } static void Main(string[] args) { Hanshu s = new Hanshu(); int sum = s.Jiechengqiuhe(6); Console.WriteLine(sum);
求总分,最高分,最低分,平均分
/// <summary> /// 求总分,最高分,最低分,平均分 /// </summary> public void Pingjunfen() { Console.Write("请输入班级人数n="); int n = int.Parse(Console.ReadLine()); double[] shuzu = new double[n]; for (int i = 0; i < n; i++) { Console.Write("请输入第" + (i + 1) + "个同学的成绩:"); double d = double.Parse(Console.ReadLine()); shuzu[i] = d; } double zhong; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (shuzu[i] > shuzu[j]) { zhong = shuzu[i]; shuzu[i] = shuzu[j]; shuzu[j] = zhong; } } } double sum = 0; for (int i = 0; i < n; i++) { sum += shuzu[i]; } Console.WriteLine("总分是" + sum); Console.WriteLine("最低分是" + shuzu[0]); Console.WriteLine("最高分是" + shuzu[n - 1]); Console.WriteLine("平均分是" + sum / n); }
判断日期格式是否正确,若不正确,请重新输入的函数:
/// <summary> /// 判断日期格式是否正确,若不正确,请重新输入 /// </summary> public void Riqigeshi() { Console.Write("请输入年份:"); for (; ; ) { int y = int.Parse(Console.ReadLine()); if (y >= 0 && y <= 9999) { Console.Write("请输入月份:"); int m = int.Parse(Console.ReadLine()); for (; ; ) { if (m >= 1 && m <= 12) { Console.Write("请输入日期:"); for (; ; ) { int d = int.Parse(Console.ReadLine()); if (d >= 1 && d <= 31) { if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { Console.WriteLine("输入正确!您输入的日期是" + y + "年" + m + "月" + d + "日."); break; } else if (m == 4 || m == 6 || m == 9 || m == 11) { if (d <= 30) { Console.WriteLine("输入正确!您输入的日期是" + y + "年" + m + "月" + d + "日."); break; } else { Console.WriteLine("您输入的日期格式错误,请重新输入:"); } } else { if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) { if (d <= 29) { Console.WriteLine("输入正确!您输入的日期是" + y + "年" + m + "月" + d + "日."); break; } else { Console.WriteLine("您输入的日期格式错误,请重新输入:"); } } else { if (d <= 28) { Console.WriteLine("输入正确!您输入的日期是" + y + "年" + m + "月" + d + "日."); break; } else { Console.WriteLine("您输入的日期格式错误,请重新输入:"); } } } } else { Console.WriteLine("您输入的日期格式错误,请重新输入:"); } } break; } else { Console.WriteLine("您输入的月份格式错误,请重新输入:"); } } break; } else { Console.WriteLine("您输入的年份格式错误,请重新输入:"); } } }
冒泡排序
/// <summary> /// 冒泡排序 /// </summary> /// <param name="a"></param> public void Paixu(int a) { int[] shuzu = new int[a]; for (int i = 0; i < a;i++ ) { Console.Write("请输入第"+(i+1)+"个数"); shuzu[i] = int.Parse(Console.ReadLine()); } int zhong; for (int i = 0; i < a-1; i++) { for (int j = i + 1; j < a; j++) { if (shuzu[i] < shuzu[j]) { zhong = shuzu[i]; shuzu[i] = shuzu[j]; shuzu[j] = zhong; } } } foreach (int n in shuzu)//遍历数组 { Console.Write(n + " "); } }