这篇文章介绍了C#实现变量交换、斐波那契数列、质数、回文的方法合集,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
交换两个变量的方法
使用C#中的第三个变量交换两个数字
int number1=10,number2=20,temp=0;
temp=number1;
number1=number2;
number2=temp;
不使用第三个变量交换数字的方法
通过 *和/
int number1=10,number2=20; number1=number1*number2; //200 number2=number1/number2; //10 number1= number1/number2; //20
通过 +和-
int number1=10,number=20; number1=number1+number2; //30 number2=number1-number2; //10 number1=number1-number2; //20
不使用第三个变量交换字符串的方法
string name1="Dotnet", name2="C#";
name1=name1+name2; //DotnetC#
name2=name1.Substring(0,name1.Length-name2.Length); //Dotnet
name1=name1.Substring(name2.Length); //C#
斐波纳奇数列
斐波那契数列是按以下顺序排列的数字序列:
在C#中实现斐波那契数列的方法
- 迭代
- 递归
迭代打印斐波那契数列的方法:
int firstNumber=0;SecondNumber=1;nextNumber;
Console.Write("输入打印的元素数量:");
int numberOfElement=int.Parse(Console.ReadLine());
if(numberOfElements>2)
{
Console.Write($"{firstNumber} {SecondNumber}");
for(int i=2;i<numberOfElements;i++)
{
nextNumber=firstNumber+SecondNumber;
Console.Write($"{nextNumber} ");
firstNumber=SecondNumber;
SecondNumber=nextNumber;
}
}
递归打印斐波那契数列的方法:
Console.Write("输入打印的元素数量:");
int numberOfElement=int.Parse(Console.ReadLine());
FibonacciSeries(0,1,1,numberOfElement);
//递归打印方法
FibonacciSeries(int firstNumber,int secondNumber,int Counter,int number)
{
Console.Write($"{firstNumber} ");
if(counter<number)
FibonacciSeries(secondNumber,firstNumber+secondNumber,counter+1,number);
}
如何从斐波那契数列中找到第N个斐波那契数列编号?
static void Main(string[] args)
{
Console.Write("请输入需要获取的斐波那契数值的编号: ");
int number = int.Parse(Console.ReadLine());
//因为序列是从0开始, 所以我们计算某一位时,需要-1;
number = number - 1;
Console.Write(NthFibonacciNumber(number));
Console.ReadKey();
}
private static int NthFibonacciNumber(int number)
{
int firstNumber = 0, secondNumber = 1, nextNumber = 0;
//如果输入0,则返回0
if (number == 0)
return firstNumber;
for (int i = 2; i <= number; i++)
{
nextNumber = firstNumber + secondNumber;
firstNumber = secondNumber;
secondNumber = nextNumber;
}
return secondNumber;
}
质数
质数又称素数, 一个大于1的自然数, 除了1和它自身外, 不能被其他自然数整除的数叫做质数。,例如: 2,3,5,7,11,13,17,19,23... 是质数。
Console.Write("输入数字: ");
int number = int.Parse(Console.ReadLine());
bool IsPrime = true;
for (int i = 2; i < number / 2; i++)
{
if (number % i == 0)
{
IsPrime = false;
break;
}
}
if (IsPrime)
Console.Write($"{number}是质数");
else
Console.Write($"{number}不是质数");
Console.ReadKey();
如何打印两个数字之间的所有质数?
Console.Write("输入起始数字: ");
int startNumber = int.Parse(Console.ReadLine());
Console.Write("输入结束数字: ");
int endNumber = Convert.ToInt32(Console.ReadLine());
for (int i = startNumber; i <= endNumber; i++)
{
int counter = 0;
for (int j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
counter++;
break;
}
}
if (counter == 0 && i != 1)
{
Console.Write("{0} ", i);
}
}
Console.ReadKey();
}
回文(数字与字符串)
回文数
是一组数字, 反转该数字之后与原来相同。例如: 121, 343, 7887 等。
回文字符串
一组文字, 返回该文字之后与原来相同。例如: ABA、我爱我等。
如何检查某数字是否属于回文数?
static void Main(string[] args)
{
Console.Write("请输入要检查的数字 : ");
int number = int.Parse(Console.ReadLine());
int remineder, sum = 0;
int temp = number;
while (number > 0)
{
//得到余数
remineder = number % 10;
//总和*10, 然后与余数相加
sum = (sum * 10) + remineder;
//除以10,得到商
number = number / 10;
}
if (temp == sum)
Console.WriteLine($"{temp}是回文");
else
Console.WriteLine($"{temp}不是回文");
Console.ReadKey();
}
如何检查某字符串是否属于回文?
- 方法1
static void Main(string[] args)
{
Console.Write("输入要检查的回文: ");
string name = Console.ReadLine();
string reverse = string.Empty;
for (int i = name.Length - 1; i >= 0; i--)
reverse += name[i];
if (name == reverse)
Console.WriteLine($"{name}是回文");
else
Console.WriteLine($"{name}不是回文");
Console.ReadKey();
}
- 方法2
static void Main()
{
Console.Write("输入要检查的回文: ");
string name = Console.ReadLine();
string reverse = string.Empty;
foreach (char c in name)
reverse = c + reverse;
if (name.Equals(reverse, StringComparison.OrdinalIgnoreCase))
Console.WriteLine($"{name}是回文");
else
Console.WriteLine($"{name}不是回文");
Console.ReadKey();
}
- 方法3
static void Main()
{
Console.Write("输入要检查的回文: ");
string name = Console.ReadLine();
char[] nameArray = name.ToCharArray();
Array.Reverse(nameArray);
string reverse = new string(nameArray);
if (name.Equals(reverse, StringComparison.OrdinalIgnoreCase))
Console.WriteLine($"{name}是回文");
else
Console.WriteLine($"{name}不是回文");
Console.ReadKey();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持得得之家。
沃梦达教程
本文标题为:C#实现变量交换、斐波那契数列、质数、回文方法合集
基础教程推荐
猜你喜欢
- winform把Office转成PDF文件 2023-06-14
- C# List实现行转列的通用方案 2022-11-02
- 一个读写csv文件的C#类 2022-11-06
- C# 调用WebService的方法 2023-03-09
- ZooKeeper的安装及部署教程 2023-01-22
- unity实现动态排行榜 2023-04-27
- C#类和结构详解 2023-05-30
- C# windows语音识别与朗读实例 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- C#控制台实现飞行棋小游戏 2023-04-22