函数及其调用

class Program
    {
        public void dayin()
        {
            Console.WriteLine("hollo world");
        }
        /// <summary>
        /// 累加求和
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public int leijia(int n)
        {
            int sum = 0;
            for (int i = 1; i <= n;i++ )
            {
                sum += i;
            }
            return sum;
        }
        /// <summary>
        /// 输入一个数判断是不是质数
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public void zhishu(int n)
        {
            int count = 0;
            for (int i = 1; i <= n;i++ )
            {
                if(n%i==0)
                {
                    count++;
                }
            }
            if (count == 2)
            {
                Console.WriteLine("质数");
            }
            else
            {
                Console.WriteLine("不是质数");
            }
        }

        /// <summary>
        /// 求阶乘及其的和
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public void jiecheng(int n)
        {
            int jiecheng = 1;
            int he = 0;
            for (int i = 1; i <=n; i++)
            {
                jiecheng *= i;
                he = he + jiecheng;
            }
            Console.WriteLine("阶乘是"+jiecheng+"阶乘的和是"+he);
        }
        /// <summary>
        /// 猜拳三局两胜
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        public void caiquan()
        {

            int renying = 0;
            int diannaoying = 0;
            for (int i = 1; i <= 3; i++)
            {
                Console.Write("请输入人出拳(0-剪刀,1-石头,2-布)a=");
                int a = int.Parse(Console.ReadLine());
                Random r = new Random();
                int b = r.Next(3);
                Console.WriteLine("电脑出拳(0-剪刀,1-石头,2-布)b=" + b);

                if (a - b == 1 || a - b == -2)
                {
                    renying++;
                   Console.WriteLine("人赢一局");
                }
                else if (a == b)
                {
                    Console.WriteLine("平局");
                    i--;
                    continue;
                }
                else
                {
                    diannaoying++;
                    Console.WriteLine("电脑赢一局");
                }
                if (renying >= 2)
                {
                    Console.WriteLine("三局两胜人赢");
                    break;
                }
                else if (diannaoying >= 2)
                {
                    Console.WriteLine("三局两胜电脑赢");
                    break;
                }
            }
        }
        //主函数
        static void Main(string[] args)
        {
            while (true)
            {
                new Program().dayin();
                Console.WriteLine("请输入一个正整数");
                int n = int.Parse(Console.ReadLine());

                int jieguo = new Program().leijia(n);
                Console.WriteLine(jieguo);
                new Program().zhishu(n);
                new Program().jiecheng(n);
                new Program().caiquan();
                Console.ReadLine();
            }
        }
    }
时间: 2024-11-09 00:37:03

函数及其调用的相关文章

深入剖析php执行原理(4):函数的调用

本章开始研究php中函数的调用和执行,先来看函数调用语句是如何被编译的. 我们前面的章节弄明白了函数体会被编译生成哪些zend_op指令,本章会研究函数调用语句会生成哪些zend_op指,等后面的章节再根据这些op指令,来剖析php运行时的细节. 源码依然取自php5.3.29. 函数调用 回顾之前用的php代码示例: <?php function foo($arg1) { print($arg1); } $bar = 'hello php'; foo($bar); 在函数编译一章里已经分析过,

javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量

定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body

MFC浅析(7) CWnd类虚函数的调用时机、缺省实现

CWnd类虚函数的调用时机.缺省实现 FMD(http://www.fmdstudio.net) 1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestroy CWnd作为MFC中最基本的与窗口打交

函数的调用优化

函数的调用优化 在类中有四大成员函数,构造函数,拷贝构造函数,赋值函数和析构函数,在类外进行实例化时,若调用函数的方法不当则会产生时间和空间的浪费. 以下,将用几个小栗子来说明函数的调用优化的常见办法 类: class Test { public: Test(int d = 0) : _data(d) { cout << "Create Test Object:"<<this << endl; } Test(const Test&x) :_d

Entity Framework 6 Recipes 2nd Edition(11-4)译 -&gt; 在”模型定义”函数里调用另一个”模型定义”函数

11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11-4所示: Figure 11-4. A model representing the associate types in a company together with the reporting association 在我们的虚拟的公司里, , team members被一个team lea

回调函数中调用类中的非静态成员变量或非静态成员函数

有关这方面的问题,首先说一点: 回调函数必须是静态成员函数或者全局函数来实现回调函数,大概原因是普通的C++成员函数都隐含了一个函数参数,即this指针,C++通过传递this指针给成员函数从而实现函数可以访问类的特定对象的数据成员.由于this指针的原因,使得一个普通成员函数作为回调函数时就会因为隐含的this指针问题使得函数参数个数不匹配,从而导致回调函数编译失败. 基于上面的理论,如何在类中封装回调函数呢? 回调函数只能是全局函数或者静态成员函数,但是由于全局函数会破坏封装性,所以只能用静

关于编译型语言函数的调用(三)

接上文:http://blog.csdn.net/prsniper/article/details/40653235 类delete就不说了,有兴趣的朋友自己跟踪看看吧,提示一下:析构函数也有参数和返回值. 下面我们看下裸函数,裸函数从执行效率上是可以与汇编语言媲美的,然而它不太好逆过来说,我们就顺着说吧 前面说得构造函数的临时堆栈,恢复寄存器等等,有人给了个名称叫prolog和epilog 而裸函数并没有自动编译这些部分,其实说白了,裸函数相当于汇编语言中的一个标签,其调用受前面几种约定约束

C++之类的成员函数的调用 vs. 普通函数的调用

首先请看下面的语句: Point3d obj; Point3d *ptr = &obj; 当使用上述指针或者对象调用成员函数Func()时,会有: obj.Func(); ptr->Func(); 上述调用的背后到底完成了一些什么呢? 假设Func函数的定义如下: Point3d Point3d::Func() const { Float a = getA(); Point3d ret; ret._x = _x/a; ret._y = _y/a; ret._z = _z/a; return

C++中拷贝构造函数和赋值函数被调用的时机

一.拷贝构造函数被调用的时机: 1. 当用类的一个对象去初始化该类的另一个对象(或引用)时系统自动调用拷贝构造函数实现拷贝赋值. 2. 若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数. 3. 当函数的返回值是类对象时,系统自动调用拷贝构造函数. 二.赋值函数被调用的时机: 当用一个对象赋值给另一个对象时 注意一.二中初始化和赋值的区别 C++中拷贝构造函数和赋值函数被调用的时机,布布扣,bubuko.com

递归 函数自己调用自己

1 #!/usr/bin/env python 2 # 递归 3 def f4(defth,a1, a2) : 4 5 if defth == 10 : 6 return a1 7 print(a1) 8 9 a3 = a1 + a2 10 r = f4(defth + 1,a2, a3) 11 12 13 s = f4(0,0 ,1) 14 print(s) 函数自己调用自己