标签:
1.函数写在class与主函数之间,在主函数中调用
2.在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
3.void是没有返回值,括号内是参数(有参数时),private只能在当前类里面使用,public是公共的,可以在整个命名空间使用。 有何无相对于主函数来说的;return+需要返回的值;
4.Public void leijia(int a){}
5.公共函数 没有返回值(返回值的类型int/double) 函数名称 参数的类型及名称。
6.调用函数时必须初始化;
函数格式
1 /// <summary> 2 ///累加求和的方法 没有参数,没有返回值 3 /// </summary> 4 public void leijia() 5 { 6 Console.Write("请输入一个正整数:"); 7 int a = int.Parse(Console.ReadLine()); 8 int sum = 0; 9 for (int i = 1; i <= a; i++) 10 { 11 sum += i; 12 } 13 Console.WriteLine(sum); 14 } 15 /// <summary> 16 /// 有参数,没有返回值 17 /// </summary> 18 /// <param name="a"></param> 19 public void leijia(int a) 20 { 21 int sum = 0; 22 for (int i = 1; i <= a; i++) 23 { 24 sum += i; 25 } 26 Console.WriteLine(sum); 27 } 28 /// <summary> 29 /// 有参数 有返回值 30 /// </summary> 31 /// <param name="a"></param> 32 /// <returns></returns> 33 public int leijia1(int a) 34 { 35 int sum = 0; 36 for (int i = 1; i <= a; i++) 37 { 38 sum += i; 39 } 40 return sum; 41 } 42 /// <summary> 43 /// 没有参数 有返回值 44 /// </summary> 45 /// <returns></returns> 46 public int leijia2() 47 { 48 Console.Write("请输入一个正整数:"); 49 int a = int.Parse(Console.ReadLine()); 50 int sum = 0; 51 for (int i = 1; i <= a; i++) 52 { 53 sum += i; 54 } 55 return (sum); 56 } 57 //hs.leijia();无参无返 直接使用 58 // hs.leijia(10); //可以重新接收一个数值,也可以直接在括号内添加你想输入的数值 59 // Console.WriteLine(hs.leijia1(15)); //15- 可以重新接收一个 hs.leijia1()-可以重新定义个变量接收一下 60 //Console.WriteLine(hs.leijia2()); //hs.leijia1()-可以重新定义个变量接收一下
例题: 数组写成函数:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _10._18 8 { 9 class Program 10 { 11 private int[] congxiaodaodapaixu(int[] strs) 12 { 13 for (int i = 0; i < strs.Length - 1; i++) 14 { 15 for (int j = i + 1; j < strs.Length; j++) 16 { 17 if (strs[i] > strs[j]) 18 { 19 int bian = strs[j]; 20 strs[j] = strs[i]; 21 strs[i] = bian; 22 } 23 } 24 } 25 return strs; 26 } 27 private int[] congdadaoxiaopaixu(int[] strs) 28 { 29 for (int i = 0; i < strs.Length - 1; i++) 30 { 31 for (int j = i + 1; j < strs.Length; j++) 32 { 33 if (strs[i] < strs[j]) 34 { 35 int bian = strs[j]; 36 strs[j] = strs[i]; 37 strs[i] = bian; 38 } 39 } 40 } 41 return strs; 42 } 43 static void Main(string[] args) 44 { 45 Program pr = new Program(); 46 //输入每个人的年龄 排序 47 Console.Write("请输入总人数:"); 48 int ci = int.Parse(Console.ReadLine()); 49 int[] strs = new int[ci]; 50 51 for (int i = 0; i < strs.Length; i++) 52 { 53 Console.Write("请输入第{0}个学生的年龄:", i + 1); 54 strs[i] = int.Parse(Console.ReadLine()); 55 } 56 57 Console.WriteLine("从小到大"); 58 strs = pr.congxiaodaodapaixu(strs); 59 for (int i = 0; i < strs.Length; i++) 60 { 61 Console.Write(strs[i]); 62 Console.WriteLine(); 63 } 64 Console.WriteLine(); 65 Console.WriteLine(); 66 Console.WriteLine(); 67 Console.WriteLine(); 68 Console.WriteLine("从大到小"); 69 strs = pr.congdadaoxiaopaixu(strs); 70 for (int i = 0; i < strs.Length; i++) 71 { 72 Console.Write(strs[i]); 73 Console.WriteLine(); 74 } 75 Console.ReadLine(); 76 } 77 } 78 79 }
例题:超市购物
//去超市选择要购买的商品 //0.开始购买 //1.洗发水 15元 //2.牙刷 5元 //3.可口可乐 3元 //4.水杯 12元 //5.毛巾 6元 //6.结算
//输入想要的物品编号,输入每种商品需要买几件
//结算:需要列出来商品名称、单价、数量、 //总价以及所有物品总价,结账时间 //然后输入交给收银员的钱数 //不够,请继续交钱 //够,结算,找钱
////难点: if 嵌套 switch ////ConsoleWrite()语句在循环内部 ////多个一维数组共用一组索引号 Console.WriteLine("0.开始购买"); Console.WriteLine("1.洗 发 水 15元"); Console.WriteLine("2.牙 刷 5元"); Console.WriteLine("3.可口可乐 3元"); Console.WriteLine("4.水 杯 12元"); Console.WriteLine("5.毛 巾 6元"); Console.WriteLine("6.结算"); Console.Write("请按0键,开始购物:"); double q = double.Parse(Console.ReadLine()); int[] c = new int[5] { 0, 0, 0, 0, 0 }; //定义一个 0的 一维数组 初始值的考虑。 if (q == 0) { for (; ; ) { Console.Write("输入商品编号a:"); int a = int.Parse(Console.ReadLine()); // 函数语句的位置可以随便放 只要符合规范 if (a > 0 && a <= 6) { switch (a) { case 1: Console.Write("要购买的商品是:洗 发 水 单价 15元"); Console.Write("洗 发 水,数量:"); int c1 = int.Parse(Console.ReadLine()); c[0] = c1; //把前面相同位置的数 修改掉; break; case 2: Console.Write("要购买的商品是:牙 刷 单价 5元"); Console.Write("牙 刷,数量:"); int c2 = int.Parse(Console.ReadLine()); c[1] = c2; break; case 3: Console.Write("要购买的商品是:可口可乐 单价 3元"); Console.Write("可口可乐,数量:"); int c3 = int.Parse(Console.ReadLine()); c[2] = c3; break; case 4: Console.Write("要购买的商品是:水 杯 单价 12元"); Console.Write("水 杯,数量:"); int c4 = int.Parse(Console.ReadLine()); c[3] = c4; break; case 5: Console.Write("要购买的商品是:毛 巾 单价 6元"); Console.Write("毛 巾,数量:"); int c5 = int.Parse(Console.ReadLine()); c[4] = c5; break; } if (a == 6) { break; } } else { Console.WriteLine("输入错误!"); } } Console.Write("点击回车键结账"); Console.ReadLine(); double m = c[0] * 15 + c[1] * 5 + c[2] * 3 + c[3] * 12 + c[4] * 6; Console.WriteLine("应付金额:" + m); Console.WriteLine("交付金额:"); double y = double.Parse(Console.ReadLine()); Console.WriteLine("找零:"); double t = y - m; if (t >= 0) { double[] d = new double[5] { 15, 5, 3, 12, 6 };//单价 一维数组 string[] e = new string[5] { "洗 发 水", "牙 刷", "可口可乐", "水 杯", "毛 巾" };//货物种类 一维数组 double sum = 0; for (int i = 0; i < 5; i++) { if (c[i] != 0) { sum += c[i] * d[i]; Console.WriteLine("购买{0},数量:{1};单价{2} 元", e[i], c[i], d[i]); } } Console.WriteLine("您此次的购物金额是{0},支付金额{1};找零{2}元", sum, y, t); DateTime dt = DateTime.Now; Console.WriteLine(dt); } else { Console.WriteLine("金额不足,缺少金额:{0}元。" + Math.Abs(t)); } } else { Console.Write("输入错误:"); }
标签:
原文地址:http://www.cnblogs.com/ordinaryk/p/5975973.html