一、函数复习:namespace _5月12日_函数复习 { class Program { //请编写一个打印三角形的函数,要求根据输入的数打印多少行 //没有返回值,没有参数 public void san() { Console.Write("请输入行数:"); int a = int.Parse(Console.ReadLine()); for (int i = 1; i <= a; i++) { for (int j = 1; j <= i; j++) { Console.Write("☆"); } Console.WriteLine(); } } /// <summary> /// 输入一个参数,自动打印三角形 /// </summary> /// <param name="a"></param> public void sanjiao(int a) { for (int i = 1; i <= a; i++) { for (int j = 1; j <= i; j++) { Console.Write("☆"); } Console.WriteLine(); } } //传值:就是将实参的值传到所调用的函数里面,实参的值并没有发生变化,默认传值的有int型,浮点型,bool型,char字符型,结构体等等 //传址:就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string。 //out可以在一个函数中同时返回多个值,而returu只能传一个值 public void aa(out int a, int b) { //out进来的变量只能被赋值,因为相当于仅仅哪了个箱子过来, a = 33 + b; //程序段完成之后要将此箱子连同赋值的结果一起送回去 } static void Main(string[] args) { //函数的作用:减少重复编写程序段的工作量 //请编写一个打印三角形的函数,要求根据输入的数打印多少行 //首先初始化 Program hanshu = new Program(); //没有返回值,没有参数 //hanshu.san(); //Console.Write("请输入行数:"); //int ee = int.Parse(Console.ReadLine()); //hanshu.sanjiao(a); int ee; hanshu.aa(out ee,5); Console.WriteLine(ee); Console.ReadLine(); } } }
练习一:卖羊namespace 练习__卖羊 { class Program { //练习:每过一个村庄卖掉总数的二分之一零一只,过了七个村庄之后还剩两只,问最初有多少只羊 //1、有返回值,没有参数 //public int leijia() //{ // int sum = 0; // for (int i = 8; i >= 1; i--) // { // if (i == 8) // { // sum = 2; // } // else // { // sum = (sum + 1) * 2; // } // } // return sum; //} static void Main(string[] args) { //初始化,一定要有 Program hanshu = new Program(); //练习:每过一个村庄卖掉总数的二分之一零一只,过了七个村庄之后还剩两只,问最初有多少只羊 //分析:第7天:2只,第6天:(2+1)*2=6只,第5天:(6+1)*2=14只,以此类推 //1、有返回值,没有参数 //int sum = hanshu.leijia(); //Console.WriteLine(sum); Console.ReadLine(); } } }
练习二:兔子生兔子namespace 练习__兔子生兔子 { class Program { //没有返回值,有参数 public void zt(int a) { int ct = 0; int xt = 0; int yt = 1; int sum = 1; for (int i = 1; i <= a; i++) { if (i == 1) { ct = 0;//第一个月成兔对数0 xt = 0;//第一个月小兔对数0 yt = 1;//第一个月幼兔对数1 sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 } else { ct = xt + ct;//每个月成兔=上月个的小兔+上月个的成兔 xt = yt;//每月小兔=上个月的幼兔 yt = ct;//每月幼兔=本月的成兔 } sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 Console.WriteLine(i + "个月后成兔的对数是:" + ct); Console.WriteLine(i + "个月后小兔的对数是:" + xt); Console.WriteLine(i + "个月后幼兔的对数是:" + yt); Console.WriteLine(i + "个月后总的兔子的对数是:" + sum); } } static void Main(string[] args) { //初始化 Program hanshu = new Program(); //有一对幼兔,幼兔一个月后长成小兔,小兔一个月后长成成兔并生下一对幼兔,成兔每月生下一对幼兔,问几年后 //有多少对兔子,幼兔,小兔,成兔对数分别是多少。 //分析:本月成兔=上月个的小兔+上月个的成兔 // 本月小兔=上个月的幼兔 // 本月幼兔=本月的成兔 //Console.Write("请输入月份:"); //int yf = int.Parse(Console.ReadLine ()); //int ct = 0; //int xt = 0; //int yt = 1; //int sum = 1; //if (yf == 1) //{ // for (int i = 1; i <= yf; i++) // { // ct = 0;//第一个月成兔对数0 // xt = 0;//第一个月小兔对数0 // yt = 1;//第一个月幼兔对数1 // sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 // } // Console.WriteLine(yf + "个月后成兔的对数是:" + ct); // Console.WriteLine(yf + "个月后小兔的对数是:" + xt); // Console.WriteLine(yf + "个月后幼兔的对数是:" + yt); // Console.WriteLine(yf + "个月后总的兔子的对数是:" + sum); // Console.ReadLine(); //} //else //{ // for (int i = 2; i <= yf; i++) // { // ct = xt + ct;//每个月成兔=上月个的小兔+上月个的成兔 // xt = yt;//每月小兔=上个月的幼兔 // yt = ct;//每月幼兔=本月的成兔 // sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 // } // Console.WriteLine(yf + "个月后成兔的对数是:" + ct); // Console.WriteLine(yf + "个月后小兔的对数是:" + xt); // Console.WriteLine(yf + "个月后幼兔的对数是:" + yt); // Console.WriteLine(yf + "个月后总的兔子的对数是:" + sum); // Console.ReadLine(); //} //第二种 //for (int i = 1; i <= yf; i++) //{ // if (i == 1) // { // ct = 0;//第一个月成兔对数0 // xt = 0;//第一个月小兔对数0 // yt = 1;//第一个月幼兔对数1 // sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 // } // else // { // ct = xt + ct;//每个月成兔=上月个的小兔+上月个的成兔 // xt = yt;//每月小兔=上个月的幼兔 // yt = ct;//每月幼兔=本月的成兔 // } // sum = ct + xt + yt;//兔子总数=成兔+小兔+幼兔 // Console.WriteLine(i + "个月后成兔的对数是:" + ct); // Console.WriteLine(i + "个月后小兔的对数是:" + xt); // Console.WriteLine(i + "个月后幼兔的对数是:" + yt); // Console.WriteLine(i + "个月后总的兔子的对数是:" + sum); // Console.ReadLine(); //} //没有返回值,有参数 Console.Write("请输入月份:"); int yf = int.Parse(Console.ReadLine()); hanshu.zt(yf); Console.ReadLine(); } } }
练习三:求篮球高度namespace 练习4_篮球高度 { class Program { //有参数,有返回值 public double lq(double z) { double gd = 20; for (int i = 0; i < z; i++) { gd = gd * 0.75; } return gd; } static void Main(string[] args) { //写个函数,要求计算篮球弹起高度,从20米这次是上次的四分之三,求输入次数算出高度 //写成 有参数,有返回值 样式 Program hanshu = new Program();//先把函数初始化 //有参数,有返回值 Console.Write("请输入次数:"); double n = double.Parse(Console.ReadLine ()); //double gd = 20; //for (int i = 0; i < n; i++) //{ // gd = gd * 0.75; //} //Console.WriteLine("篮球高度为:"+gd); double gd = hanshu.lq(n); Console.WriteLine(gd); Console.ReadLine(); } } }
练习四:用☆打印一个等腰三角形namespace 练习6_打印等腰三角形 { class Program { public void sanjiao(int n) { for (int i = 1; i <= n; i++) { for (int b = 1; b <= n - i; b++) { Console.Write(" "); } for (int c = 1; c <= 2 * i - 1; c++) { Console.Write("☆"); } Console.WriteLine(); } } static void Main(string[] args) { //先把函数初始化 Program hangshu = new Program(); //写一个打印等腰三角形的函数 //有输入值,没有返回值 Console.Write("请输入行数:"); int n = int.Parse(Console.ReadLine()); //for (int i = 1; i <= n; i++) //{ // for (int b = 1; b <= n - i; b++) // { // Console.Write(" "); // } // for (int c = 1; c <= 2 * i - 1; c++) // { // Console.Write("☆"); // } // Console.WriteLine(); //} hangshu.sanjiao(n); Console.ReadLine(); } } }
时间: 2024-10-20 23:07:23