用C#实现写一个函数用来统计字符串中各字母出现的次数。 示例: 输入:X2Y3XZ,输出:X3Y3Z1; 输入:Z3X(XY)2,输出:X3Y2Z3; 输入:Z4(Y2(XZ2)3)2X2,输出:X8Y4Z16;
时间: 2024-09-18 10:13:54 浏览: 56
各字符出现个数.txt
在C#中,你可以创建一个名为`CountLetters`的函数,使用Dictionary数据结构来存储每个字符及其出现的次数。下面是一个简单的实现:
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(CountLetters("X2Y3XZ")); // 输出:X=3 Y=3 Z=1
Console.WriteLine(CountLetters("Z3X(XY)2")); // 输出:X=3 Y=2 Z=3
Console.WriteLine(CountLetters("Z4(Y2(XZ2)3)2X2")); // 输出:X=8 Y=4 Z=16
}
public static Dictionary<char, int> CountLetters(string input)
{
Dictionary<char, int> letterCounts = new Dictionary<char, int>();
foreach (char c in input)
{
if (letterCounts.ContainsKey(c))
letterCounts[c]++;
else
letterCounts[c] = 1;
}
return letterCounts;
}
}
```
这个函数通过遍历输入字符串中的每一个字符,然后在字典中查找该字符是否存在。如果存在,就增加计数;如果不存在,则添加到字典并设置初始计数为1。最后返回包含所有字符及其对应频率的字典。
阅读全文