用C#输入整数n(n≥0),分别利用for循环,while循环、do—while循环求n
时间: 2024-10-15 16:14:38 浏览: 53
在C#中,你可以使用三种不同的循环结构来让用户输入一个整数`n`并打印从1到`n`的所有数字。以下是每种循环结构的示例:
1. **For循环**:
```csharp
Console.Write("请输入一个非负整数 n: ");
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
Console.WriteLine(i);
}
```
2. **While循环**:
```csharp
Console.Write("请输入一个非负整数 n: ");
int n = int.Parse(Console.ReadLine());
int i = 1;
while (i <= n)
{
Console.WriteLine(i);
i++;
}
```
3. **Do-While循环**:
```csharp
Console.Write("请输入一个非负整数 n: ");
int n = int.Parse(Console.ReadLine());
int i = 1;
do
{
Console.WriteLine(i);
i++;
} while (i <= n);
```
以上代码首先会提示用户输入整数`n`,然后通过循环结构依次打印从1到`n`的数字。
相关问题
C#编写输入整数n(n≥0),分别利用for循环,while循环、do—while循环求n!
在C#中,计算阶乘通常涉及一个递归过程,因为阶乘(n!)等于所有小于等于n的正整数相乘。以下是三种循环结构来实现这个功能:
1. **For循环**:
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个非负整数: ");
int n = Convert.ToInt32(Console.ReadLine());
long factorial = 1;
for (int i = 1; i <= n; i++)
{
factorial *= i;
}
Console.WriteLine($"n! = {factorial}");
}
}
```
2. **While循环**:
```csharp
static void Main()
{
Console.Write("请输入一个非负整数: ");
int n = Convert.ToInt32(Console.ReadLine());
long factorial = 1;
while (n > 0)
{
factorial *= n;
n--;
}
Console.WriteLine($"n! = {factorial}");
}
```
3. **Do-While循环**:
```csharp
static void Main()
{
Console.Write("请输入一个非负整数: ");
int n = Convert.ToInt32(Console.ReadLine());
long factorial = 1;
do
{
factorial *= n;
n--;
} while (n >= 0);
Console.WriteLine($"n! = {factorial}");
}
```
以上代码都会先请求用户输入一个整数,然后利用相应循环结构计算并输出阶乘结果。
C#输入整数n(n大于等于0),分别利用for循环、while循环、do…while循环求n!
在C#中,你可以使用三种不同的循环结构来计算阶乘(n!)。这里我会展示如何分别使用for循环、while循环和do...while循环:
1. **For循环**:
```csharp
int n;
Console.Write("请输入一个非负整数n: ");
n = Convert.ToInt32(Console.ReadLine());
long factorial = 1; // 使用长整型防止溢出
for (int i = 1; i <= n; i++)
{
factorial *= i;
}
Console.WriteLine($"n! 的值是: {factorial}");
```
2. **While循环**:
```csharp
int n;
Console.Write("请输入一个非负整数n: ");
n = Convert.ToInt32(Console.ReadLine());
long factorial = 1;
while (n > 0)
{
factorial *= n;
n--;
}
Console.WriteLine($"n! 的值是: {factorial}");
```
3. **Do...While循环**:
```csharp
int n;
Console.Write("请输入一个非负整数n: ");
n = Convert.ToInt32(Console.ReadLine());
long factorial = 1;
bool continueLoop = true;
do
{
factorial *= n;
n--;
} while (continueLoop && n > 0);
Console.WriteLine($"n! 的值是: {factorial}");
```
注意,在计算阶乘过程中,如果n很大,可能会导致数值超出`int`类型的范围,因此这里使用了`long`类型。此外,由于do...while循环会先执行一次再检查条件,所以在这种循环中需要一个初始条件使得循环至少执行一次。
阅读全文