函数:
数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数
程序里的函数:能完成一个相对独立功的代码块。
数学里的函数:高度抽象。
函数四要素:函数名,输入,输出,加工
函数定义:
[static] 返回类型 函数名(输入参数列表)
{
//函数体——加工
}
函数调用:
函数名(参数); ——适合于调用无返回值的函数
数据类型 变量 = 函数名(参数); ——适合于调用有返回值的函数。
今天要掌握的东西:
1.函数是个什么东西?
2.能体会到函数的好处:可重用,可分工,清晰易读
3.记住函数的四要素。
4.会定义简单的函数,会调用这个函数。
例题1:天气预报
static void M1ain(string[] args) { ShowHeader(); string city = ShuRu(); string jieguo = YunSuan(city); Console.WriteLine("天气预报仅做参考:" + jieguo); } private static string YunSuan(string city) { //天气 string[] s = new string[] { "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "阴", "多云", "小雨", "中雨", "大雨", "暴雨", "雷阵雨", "小雪", "中雪", "大雪", "霾", "雾" }; Random rand = new Random(); int n = rand.Next(s.Length); //天气的下标. string tq = s[n]; //气温 int c = rand.Next(70); c -= 30; string jieguo = "明天的天气情况:" + city + ",天气:" + tq + ",气温:" + c; return jieguo; } private static string ShuRu() { Console.Write("城市:"); string city = Console.ReadLine(); return city; } private static void ShowHeader() { Console.WriteLine("*************天气预报****************"); Console.WriteLine("********淄博气象台权威发布****************"); Console.WriteLine("********如果出现异常 ,纯属偶然****************"); Console.WriteLine("*****仅做个人测试与爱好使用,不要用作商业运营**********");
例题2.10个评委为选手打分。
int[] a = new int[10]; //亮分 ShuRu(a); //排序 PaiXu(a); //运算求平均 double avg = YunSuan(a); //输出显示 ShuChu(a, avg); } private static void ShuChu(int[] a, double avg) { Console.WriteLine("去掉两个最高分:" + a[0] + "和" + a[1]); Console.WriteLine("去掉两个最低分:" + a[a.Length - 1] + "和" + a[a.Length - 2]); Console.WriteLine("该选手最终得分为:" + avg); } private static double YunSuan(int[] a) { //求总分 int sum = 0; for (int i = 2; i <= a.Length - 3; i++) { sum += a[i]; } //求平均 double avg = (1.0 * sum) / (a.Length - 4); return avg; } private static void PaiXu(int[] a) { for (int i = 1; i <= a.Length - 1; i++) { for (int j = 1; j <= a.Length - i; j++) { if (a[j] > a[j - 1]) { int temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } } private static void ShuRu(int[] a) { for (int i = 0; i < a.Length; i++) { Console.Write("请第" + (i + 1) + "号评委亮分:"); a[i] = Convert.ToInt32(Console.ReadLine()); }