【C#初学】2/Π近似值/进制转换/数组最大值/字符串取数
记录一下初学C#写作业时遇见的一些点和思路过程。
IDE为Visual Studio 2019。
1.求Π/2的近似值公式为:
Π/2=2/1*2/3*4/3*4/5*…*2n/(2n-1)*2n/(2n+1)*…其中,n=1,2,3,…。
设计一个程序,求出当n=1000时Π的近似值。
纯数学题就以纯数学思路,已知Π/2=…2n/(2n-1)*2n/(2n+1);
那么就设a=2n,b=2n-1,c=2n+1,P=Π/2;
就有P=…a/b * a/c;
代码如下:
using System;
namespace work1
{
class Program
{
static void Main(string[] args)
{
int n = 1000;
double p;
double P = 1d;
double a, b, c;
for (int i = 1; i <= n; i++)
{
a = 2 * i;//2n
b = a - 1;//2n-1
c = a + 1;//2n+1
P *= a / b * a / c;//Π/2=2/1*...*2n/(2n-1)*2n/(2n+1)
}
p = P * 2;//Π=Π/2*2
Console.WriteLine("Π近似{0}",p);
}
}
}
结果为:
2.设计一个程序,输入一个十进制数,输出相应的十六进制数。
先来看看十进制数如何转为十六进制数:
所以十进制数154的十六进制为9A
可见要转十六进制要不断的用商除十六后取余直到商为0为止
代码如下:
using System;
using System.Collections;
namespace WORK
{
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();//以字符串输入10进制数
int d = Convert.ToInt32(str);//将字符串转换int类型赋给d
ArrayList n = new ArrayList();//定义一个动态数组
while (d != 0)
{
int x = d % 16;//转16进制
if (x - 10 >= 0)//大于10转字母
{