1.输入某年某月某日,判断这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天。 2.求1/1-1/2+1/3-1/4+……+1/99-1/100? 3.求n!?(n由用户输入) 均使用c#程序设计的分支结构语句
时间: 2024-09-20 17:16:19 浏览: 68
在C#中,我们可以使用分支结构如`if`、`else if`以及`else`来解决这三个问题。以下是每个问题的解决方案:
1. 判断一年中某一天是第几天:
```csharp
DateTime date = new DateTime(year, month, day);
int dayOfYear = date.DayOfYear;
Console.WriteLine($"{year}年{month}月{day}日是当年的第{dayOfYear}天");
```
在这个例子中,我们创建了一个`DateTime`对象,并使用`.DayOfYear`属性获取该日期是一年中的第几天。
2. 求交错分数序列的和:
```csharp
double sum = 0;
for (int i = 1; i <= 100; i++)
{
double term = (i % 2 == 0) ? 1 / i : -1 / i;
sum += term;
}
Console.WriteLine($"1/1 - 1/2 + 1/3 - ... + 1/{99} - 1/100 的结果是 {sum}");
```
这里我们通过循环计算每一项并根据奇偶性决定添加正负号。
3. 计算阶乘的递归版本,利用分支结构处理边界条件(如果n小于等于0则返回1,其他情况则是n与(n-1)!相乘):
```csharp
public long Factorial(int n)
{
if (n < 0)
return 1;
else if (n == 0 || n == 1)
return 1;
else
return n * Factorial(n - 1);
}
long userInputFactorial = Factorial(Console.ReadLine().ToInt32());
Console.WriteLine($"n! = {userInputFactorial}");
```
这个函数使用了递归,先检查基本情况再进行递归调用。
阅读全文