欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#学习笔记3-函数综合练习

程序员文章站 2022-07-16 09:24:43
...

前言

学习了需要多多练习啊,我也会将我自己练习的题目发上来,大家学习的时候可以根据题目要求进行编写,然后再对比,有什么疑问大家可以相互探讨,相互学习。
今天学习的是一个综合练习题,简单却综合,嘿嘿

练习题

            /* 
             * 函数编写的综合练习
             * 提示用户输入两个数字,计算两个数字的和
             * 要求:
             * 1、用户只能输入数字
             * 2、要求第一个数字必须比第二个数字小
             * 3、计算两个数字的和
             */

分析

用户只能输入数字

        static int GetNum(string input)
        {
            while (true)
            {
                try
                {
                    int num = Convert.ToInt32(input);
                    return num;
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入");
                    input = Console.ReadLine();
                }
            }
        }

要求第一个数字比第二个数字小

        static void CompareNum(ref int n1,ref int n2)
        {
            while (true)
            {
                if (n1 < n2)
                {
                    return;
                }
                else
                {
                    Console.WriteLine("输入错误,第二个数字必须大于第一个数字,请重新输入第一个数字");
                    string s1 = Console.ReadLine();
                    n1 = GetNum(s1);
                    Console.WriteLine("请重新输入第二个数字");
                    string s2 = Console.ReadLine();
                    n2 = GetNum(s2);
                }
            }
        }

两个数字求和

        static int Sum(int n1,int n2)
        {
            return n1 + n2;
        }

附完整代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _05方法练习
{
    class Program
    {
        static void Main(string[] args)
        {
            /* 函数编写的综合练习
             * 提示用户输入两个数字,计算两个数字的和
             * 要求:
             * 1、用户只能输入数字
             * 2、要求第一个数字必须比第二个数字小
             * 3、计算两个数字的和
             */
            Console.WriteLine("请输入第一个数字");
            string input1 = Console.ReadLine();
            int num1 = GetNum(input1);
            Console.WriteLine("请输入第二个数字(须大于第一个数字)");
            string input2 = Console.ReadLine();
            int num2 = GetNum(input2);
            CompareNum(ref num1,ref num2);
            int sum = Sum(num1, num2);
            Console.WriteLine(sum);
            Console.ReadKey();
        }
        /// <summary>
        /// 保证用户输入的必须为数字
        /// </summary>
        /// <param name="input">用户输入</param>
        /// <returns>输入数字</returns>
        static int GetNum(string input)
        {
            while (true)
            {
                try
                {
                    int num = Convert.ToInt32(input);
                    return num;
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入");
                    input = Console.ReadLine();
                }
            }
        }
        /// <summary>
        /// 比较用户输入的数字
        /// </summary>
        /// <param name="n1">数字1</param>
        /// <param name="n2">数字2</param>
        static void CompareNum(ref int n1,ref int n2)
        {
            while (true)
            {
                if (n1 < n2)
                {
                    return;
                }
                else
                {
                    Console.WriteLine("输入错误,第二个数字必须大于第一个数字,请重新输入第一个数字");
                    string s1 = Console.ReadLine();
                    n1 = GetNum(s1);
                    Console.WriteLine("请重新输入第二个数字");
                    string s2 = Console.ReadLine();
                    n2 = GetNum(s2);
                }
            }
        }
        /// <summary>
        /// 对两个数字求和
        /// </summary>
        /// <param name="n1">数字1</param>
        /// <param name="n2">数字2</param>
        /// <returns>两数字和</returns>
        static int Sum(int n1,int n2)
        {
            return n1 + n2;
        }
    }
}

总结

以上函数看似简单,但却综合了多种C#中的知识,并且在里面需要注意ref参数的使用,否则Compare两个数字时不会返回num1的值,会导致计算错误,因此此处使用ref参数会使整体简单很多

相关标签: C#学习笔记