c#用while语句求输入的数的和,输入-1结束
时间: 2024-09-27 20:15:02 浏览: 5
在 C# 中,你可以使用 while 循环结合 try-catch 语句来求用户输入的数的和,直到输入 -1 结束。这是一个简单的示例:
```csharp
int sum = 0;
int input;
Console.WriteLine("请输入数字(输入 -1 结束):");
while (true)
{
Console.Write("请输入一个数(或输入 -1 结束): ");
input = int.Parse(Console.ReadLine());
if (input == -1) // 如果输入的是 -1,则跳出循环
break;
sum += input; // 累加到总和上
}
Console.WriteLine("所有数字的和是: " + sum);
```
在这个程序里,我们首先初始化 `sum` 为零,然后在一个无限循环中持续请求用户输入。如果用户输入 `-1`,`int.Parse()` 函数会抛出异常,这时 try-catch 子句捕获这个异常并使用 `break` 跳出循环。最后,输出累加后的结果。
相关问题
C#用while语句求1+3+5+7+…+99和
以下是使用C#的while语句求1+3+5+7+…+99的代码:
```csharp
int sum = 0;
int i = 1;
while (i <= 99)
{
sum += i;
i += 2;
}
Console.WriteLine(sum);
```
代码解释:
首先定义变量sum和i,分别表示求和的结果和当前的数字。
然后使用while循环,当i小于等于99时,执行循环体内的语句。
循环体内,将i加到sum中,并将i加2,以便下一次循环加上下一个奇数。
最后输出sum的值,即为1+3+5+7+…+99的结果。
c#用 do while语句做:输入一个数,输出它的位数
在C#中,你可以使用do...while循环结合`string.Length`属性来获取用户输入数字的位数。这里是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
int number;
int digitCount = 0;
// 使用do...while确保至少读取一次
do
{
Console.Write("请输入一个整数:");
string input = Console.ReadLine();
if (!int.TryParse(input, out number))
{
Console.WriteLine("无效的输入,请输入一个整数!");
continue;
}
} while (number <= 0); // 如果输入的是非正数,则继续请求
// 计算并输出位数
digitCount = Convert.ToString(number, 2).Length; // 转换为二进制字符串计算位数
Console.WriteLine("该数字有{0}位。", digitCount);
// 结束程序
Console.ReadKey();
}
}
```
在这个例子中,do...while会一直循环直到用户输入一个正整数。然后我们将这个整数转换成二进制字符串,`Convert.ToString(number, 2)`,其长度就是该数字的位数。