C#编程案例:字符统计与圆周率计算

版权申诉
0 下载量 102 浏览量 更新于2024-08-10 1 收藏 117KB DOC 举报
本资源是一份关于C#编程的案例文档,主要涉及两个实验和一个经典问题的解决方法。首先,我们来深入解析这两个实验: 实验四:循环程序设计 1. 在这个实验中,用户被要求编写一个C#程序,通过控制台输入,统计字符串中的数字、字母和空格字符数量。程序利用了`Console.ReadLine()`函数获取用户的输入,然后通过`foreach`循环遍历每个字符。`char.IsLetter()`, `char.IsDigit()`, 和 `char.IsWhiteSpace()` 方法分别用于判断字符是字母、数字还是空格。最后,程序输出三种字符各自的计数。 ```csharp string str; int letterCount = 0; int spaceCount = 0; int digitCount = 0; str = Console.ReadLine(); foreach (char c in str) { if (char.IsLetter(c)) { letterCount++; } else if (char.IsDigit(c)) { digitCount++; } else if (char.IsWhiteSpace(c)) { spaceCount++; } } Console.WriteLine("字母个数:{0},数字个数{1},空白字符个数{2}", letterCount, digitCount, spaceCount); ``` 实验二-2:计算圆周率的算法 接下来是另一个C#程序,使用了数值积分的方法来估算圆周率π。程序通过一个无限级数的方式逐步逼近π的值,使用`while`循环,控制变量`t`的迭代,直到满足给定的精度阈值(1e-10)。在每次迭代中,计算并累加部分积分,最后输出结果。 ```csharp double sum = 0.5, t, t1, t2, t3, p = 0.5 * 0.5; int odd = 1, even = 2, k; t = t1 = t2 = 1.0; t3 = 0.5; while (t > 1e-10) { t1 = t1 * odd / even; odd += 2; even += 2; t2 = 1.0 / odd; t3 = t3 * 0.25; t = t1 * t2 * t3; sum += t; } Console.WriteLine("\nPI={0,10:f8}", sum * 6); Console.Read(); ``` 经典问题:“猴子吃桃” 最后一个部分介绍了经典的“猴子吃桃”问题。假设一只猴子第一天摘了一些桃子,吃了桃子的一半再多吃一个,如果第二天它再次这样操作,问题描述的是这种递减过程。然而,文档中没有提供具体的代码实现,但可以推测该问题可能要求编写一个递归或动态规划算法,模拟猴子每天的行为,计算最终剩余的桃子数量。 总结来说,这份C#案例文档包含了基本的控制台输入处理,循环结构的运用,以及数值计算技巧的应用,对于学习C#编程语言的学生来说,是一个很好的实战练习案例。通过这些例子,学生可以加深对C#语法的理解,并提升程序设计和算法思维能力。