写一道程序"输入一个16位的长整型数,利用switch语句统计0~9每个数字出现的次数"
时间: 2024-09-06 22:04:29 浏览: 54
switch 语句与 case 语句一起使用,每个 case 对应一个可能的值.rar
你可以编写如下的C#程序来实现这个功能:
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个16位的长整型数:");
long number = Convert.ToInt64(Console.ReadLine());
// 使用long类型保证可以处理16位数据,因为int可能无法覆盖整个16位范围
int count[10] = {0}; // 初始化一个长度为10的数组存储每个数字出现的次数
// 将输入的长整型转换为字符串便于处理每一位
string strNumber = number.ToString();
// 利用switch语句遍历每个字符并计数
foreach (char digit in strNumber)
{
switch (digit - '0') // 减去字符'0',得到0~9之间的数字
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
count[digit - '0']++; // 数字对应索引自增
break;
}
}
Console.WriteLine("每个数字出现的次数是:");
for (int i = 0; i < 10; i++)
{
Console.WriteLine($"数字{i}出现了{count[i]}次");
}
Console.ReadKey();
}
}
```
在这个程序中,我们首先读取用户输入的16位长整型数,然后通过`ToString()`方法将其转换为字符串以便于处理每一位数字。接着,我们遍历字符串中的每个字符,使用`switch`语句根据字符对应的ASCII码减去'0',获取其数值,再更新相应的计数数组。最后,打印出每个数字及其出现次数。
阅读全文