首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

关于字符串查找,需要来,100分

2014-01-01 
关于字符串查找,需要高手进来,100分。dim str as string06/12/01/02/05\04/09/05/01/03\07/11/09/01/05\1

关于字符串查找,需要高手进来,100分。


dim str as string="06/12/01/02/05\04/09/05/01/03\07/11/09/01/05\11/07/10/08/01\04/03/11/02/08\11/06/02/03/04\11/09/01/10/12\12/04/08/06/09\09/06/04/01/07\08/04/09/03/11\03/09/01/06/05\12/09/03/02/05\05/10/12/02/11\03/06/04/01/10\01/07/03/08/02\12/03/11/05/01\03/11/06/04/07\04/10/07/12/11\08/12/02/05/06\12/02/08/07/05\10/11/09/12/06\07/03/04/12/08\08/09/06/12/03\11/09/12/02/05\12/02/09/11/01\06/07/02/09/03\06/07/04/02/10\01/05/06/09/10\07/09/10/12/03\08/05/01/02/06\03/08/12/01/04\08/05/09/12/11\10/06/09/04/02\06/01/03/05/11\02/11/12/04/03\08/07/10/01/06\05/09/01/11/02\09/12/05/10/11\11/05/03/01/07\04/06/02/03/08\10/04/05/06/11\12/09/08/02/01\09/07/12/01/10\03/12/11/10/06\07/10/11/05/09\01/03/07/11/08\07/06/12/08/03\07/06/11/02/08\01/05/12/02/11\05/10/06/08/03\01/04/10/05/02\06/08/05/04/09\08/06/05/03/10\06/09/10/12/11\09/05/08/11/02\08/12/05/10/01\06/05/03/09/08\01/05/06/04/10\02/11/06/10/05\07/01/05/09/02\11/05/07/08/12\05/12/04/03/11\06/10/03/01/04\09/07/03/01/08\04/02/08/10/06"


特殊说明:上面字符串是一个数组(随机的,每天不一样),有多少个“\”就有多少个数据,最大的时候就这么大。
求:
A、01-12 这些数字在 这一个字符串中出现的次数
B、用数组的arr.length / 数字出现的次数 = ???? % 需要每一个数的
C、根据结果筛选出 百分比最大的 4 - 5 个数字 ,再选出百分比最小的 4 个数字

需贴出源代码,100分只给一个人。。。

[解决办法]
Module Module1

    Sub Main()
        Dim str As String = "06/12/01/02/05\04/09/05/01/03\07/11/09/01/05\11/07/10/08/01\04/03/11/02/08\11/06/02/03/04\11/09/01/10/12\12/04/08/06/09\09/06/04/01/07\08/04/09/03/11\03/09/01/06/05\12/09/03/02/05\05/10/12/02/11\03/06/04/01/10\01/07/03/08/02\12/03/11/05/01\03/11/06/04/07\04/10/07/12/11\08/12/02/05/06\12/02/08/07/05\10/11/09/12/06\07/03/04/12/08\08/09/06/12/03\11/09/12/02/05\12/02/09/11/01\06/07/02/09/03\06/07/04/02/10\01/05/06/09/10\07/09/10/12/03\08/05/01/02/06\03/08/12/01/04\08/05/09/12/11\10/06/09/04/02\06/01/03/05/11\02/11/12/04/03\08/07/10/01/06\05/09/01/11/02\09/12/05/10/11\11/05/03/01/07\04/06/02/03/08\10/04/05/06/11\12/09/08/02/01\09/07/12/01/10\03/12/11/10/06\07/10/11/05/09\01/03/07/11/08\07/06/12/08/03\07/06/11/02/08\01/05/12/02/11\05/10/06/08/03\01/04/10/05/02\06/08/05/04/09\08/06/05/03/10\06/09/10/12/11\09/05/08/11/02\08/12/05/10/01\06/05/03/09/08\01/05/06/04/10\02/11/06/10/05\07/01/05/09/02\11/05/07/08/12\05/12/04/03/11\06/10/03/01/04\09/07/03/01/08\04/02/08/10/06"
        Dim query = str.Split(New Char() {"/", ""}).GroupBy(Function(x) x)
        Dim n = str.Split(New Char() {"/", ""}).Count()
        For Each item In query.OrderBy(Function(x) x.Key)
            Console.WriteLine("{0}出现{1}次", item.Key, item.Count())
        Next
        For Each item In query.OrderBy(Function(x) x.Key)
            Console.WriteLine("{0}出现{1}%", item.Key, item.Count() / n * 100)
        Next
        Console.WriteLine("最大4个")
        For Each item In query.OrderByDescending(Function(x) x.Count()).Take(4)
            Console.WriteLine("{0}出现{1}%", item.Key, item.Count() / n * 100)
        Next
        Console.WriteLine("最小4个")
        For Each item In query.OrderBy(Function(x) x.Count()).Take(4)
            Console.WriteLine("{0}出现{1}%", item.Key, item.Count() / n * 100)
        Next
    End Sub

End Module


01出现28次
02出现25次
03出现28次
04出现22次
05出现32次
06出现31次
07出现21次
08出现27次
09出现28次
10出现25次
11出现30次
12出现28次
01出现8.61538461538462%
02出现7.69230769230769%
03出现8.61538461538462%
04出现6.76923076923077%
05出现9.84615384615385%
06出现9.53846153846154%
07出现6.46153846153846%
08出现8.30769230769231%
09出现8.61538461538462%
10出现7.69230769230769%
11出现9.23076923076923%
12出现8.61538461538462%
最大4个
05出现9.84615384615385%
06出现9.53846153846154%
11出现9.23076923076923%
12出现8.61538461538462%
最小4个
07出现6.46153846153846%
04出现6.76923076923077%


02出现7.69230769230769%
10出现7.69230769230769%
Press any key to continue . . .
[解决办法]

给分,别要求太多,知道你这是作业。再要求下次不帮你答。 

热点排行