5月12日 函数复习及练习题

一、函数复习: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

5月12日 函数复习及练习题的相关文章

4月12日上午学习日志

2017年4月12日上午复习了高等数学,看完了张宇高等数学基础班课程视频第三讲考研数学视频,继续做相应的单元测试题,第二遍听课过程中能巩固之前所学内容,加深印象,对复习有很大的帮助,完成今天英语单词的学习.

5月12日 结构体

一.结构体定义: 结构体一般定义在Main函数上面,位于Class下面,作为一个类:一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量. 二.格式: struct +结构体的名称 { public int+变量名; public string+变量名: public int+变量名: } namespace _5月12日_结构体 { class Program { struct student { public int num; p

一周第一次课(3月12日)笔记

一周第一次课(3月12日)笔记1.1 学习之初 1.2 约定 1.3 认识Linux 1.4 安装虚拟机 1.5 安装centos71.1 学习之初学习linux的目的:想在杭州找到一份Linux的相关工作(运维.开发),通过课程打下坚实的Linux基础.学习方法:预习和复习的重要性.当日事当日毕.记笔记.利用好资源1.2 约定学习所需环境(本人使用):CentOS 7.4.VMware Workstation Pro 14.puTTY 0.70.Xshell 5学习辅助工具:1.3 认识Lin

YESLAB 7月12日陈老师CCNA+CCNP真机Rack实战课程

CCNA 是网络行业的入门课程,为了能够让学员很好的了解网络,Yeslab提供真实设备Rack,学员实战搭建拓扑.完成配置,为学员打造一个真实的网络,总之只要学员想学,Yeslab毫不吝啬 CCNP路由部分为IE的基础,只有基础打的牢,楼才能盖得高,Yeslab拒绝Paper IE,除此之外Yeslab还针对工作特别开发了面试模拟课程,可以针对集成商,厂商的职位进行不同级别的面试,能够让学员不单单的只是找到工作,而是对职业有个好的规划. 交换一直是思科培训里比较弱化的一门,不过Yeslab提供真

pfSense 2.3于2016年4月12日发布

pfSense 2.3于2016年4月12日发布,pfsense 2.3基于freebsd 10.3,是目前非常优秀的防火墙,路由器开源软件. 下载地址:http://www.pfsense.org/mirror.php?section=downloads 首次使用可以下载完整安装版,目前完整安装版取消livecd模式,需要安装到存储才能正常运行.已经安装的可以在线升级,也可以下载手动升级包. 最新的pfsense咨询来自51cto网站的morehd玩家.

2016年12月12日《每天听本书》

12月12日<每天听本书> 2016-12-12 非舒适区学习 先为大家简要截取罗胖亲自介绍 现在为大家简要截取 今天罗辑社的每天听本书 微信群发布情况介绍 所有好书,还会进行存盘存储 微信云盘+百度网盘双存储 微云是纯音频存盘方便听 百度网盘是完整版方便存 下面是罗辑思维得到app上 <每天听本书>最近7天存储更新 感谢171位书友加入<每天听本书>年共享 罗胖60秒语音重磅推荐<每天听本书> 每天4.99元一本,365天,每天一本. 1年需要:4.99×

10月12日站立会议

项目名称:礼物挑选小工具 组名:飞天小女警 组长:沈柏杉 组员:程媛媛.韩媛媛.谭力铭 代码地址:SSH:[email protected]:shenbaishan/GIFT.git 站立会议: 时间:10月12日 会议内容:1.商讨开发环境 2.讨论功能需求 3.收集礼物图片等素材 4.构建项目GUI 主要技术:servlet.jsp.mvc模式. 工具:tomcat 8.0.jdk 1.7.myecplise.mysql. 技术难点:图片的服务器上传.前台后台乱码问题. 技术缺点:前端界面过

Swift 3.0首个开发者预览版将在5月12日释出

关于Linux的学习,请参考书籍<Linux就该这么学> swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内.按此计划,Swift 3.0将错过WWDC发布窗口,团队计划于年底随新版本Xcode升级版一起发布. Swift的GitHub库也将被分为三个分支:主流分支.Swift 3.0预览分支.和Swift 3.0分支.基于Swift的开发将被限定

MVP社区巡讲 12月5日北京站| 12月12日上海站

2015年底的社区巡讲Powered MVP Roadshow正式启动啦!12月5日周六下午北京场,12月12日周六下午上海场. 欢迎各位邀请您的同事朋友来参加MVP的社区活动,也邀请您发送活动信息(邮件下方附文字,附件有图片) 到您的微博,博客或是微信,以及发送到您活跃的各大IT技术社区. 您发送之后,欢迎回复邮件告知我们链接.非常感谢! 城市 时间 地 点 现在报名 北京 12月5日周六下午北京场 1点到5点30分 北京朝阳望京利星行微软大厦3层培训室 http://aka.ms/mvpbe