c#用 do while语句做:输入一个数,输出它的位数
时间: 2024-09-26 17:18:36 浏览: 42
在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)`,其长度就是该数字的位数。
阅读全文