3.13课·········函数

Posted 魅影星魂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.13课·········函数相关的知识,希望对你有一定的参考价值。

函数:能够独立完成某项功能的模块。

函数四要素:输入、输出、函数体、函数名

函数定义:
static/public 返回类型 函数名(参数类型 参数名,参数类型 参数名)
{
    函数体
}

函数的调用
返回变量类型 变量名 = 函数(实参值)

传值:四种方式
1.没有返回值,没有输入值
2.没有返回值,有输入值
3.有返回值,没有输入值
4.有返回值,有输入值

函数是写在class类里面,main函数上面,也可新建一个类,写入函数,只要namespace相同,就可调用class里面的函数

/// <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 + " ");
            }
           


        }

 

以上是关于3.13课·········函数的主要内容,如果未能解决你的问题,请参考以下文章

3.11课·········类

3.16课·········小结

3.12课·········数组

3.15课·········out传值(传址)

3.30课·········Marquee标签

3.26课·········window.document对象