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参数会使整体简单很多