C#新手-每日一题(三)

请编写一个函数 int[] GenerateStatistics(string str),统计在tt字符串中"a"到"z"26个字母各自出现的次数,并依次放在数组中返回。 
例如,当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
注意:a出现次数放在数组第一个元素,b出现次数放在数组第二个元素,依此类推 。

static void Main(string[] args)
  {
    string mystring = "abcdefghijklmnopqrstuvwxyz";
    GenerateStatistics(mystring);
    Console.ReadLine();
  }
static int[] GenerateStatistics(string str)
  {
    char[] mychar = str.ToCharArray();
    int[] myarr = new int[26];
    for (int i = 0; i < mychar.Length; i++)
    {
      for (int j = 0; j < myarr.Length; j++)
        {
          if (j == (int)mychar[i] - 97)
            {
              myarr[j] += 1;
            }
        }
    }
    foreach (int k in myarr)
      {
        Console.Write(k+" ");
      }

    return myarr;
  }

时间: 2024-08-03 23:11:51

C#新手-每日一题(三)的相关文章

经典算法题每日演练——第三题 猴子吃桃

原文:经典算法题每日演练--第三题 猴子吃桃 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个.第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个.以后每天都吃前一天剩下的一半再加一个.到第10天刚好剩一个.问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典的算法题,这个题目体现了算法思想中的递推思想,递归有两种形式,顺推和逆推,针对递推,只要 我们找到递推公式,问题就迎刃而解了. 令S10=1,容易看出 S9=2(S10+1), 简化一下 S9=2S10+2 S8=2S

c#新手_每日一题(一)

进击c#的小白一枚,望大神指点. 每日一题M 个人的成绩存放在 score 数组中,请编写函数 GetBelowScore(),它的 功能是:返回低于平均分的分数,并将低于平均分的分数放在 below 所指的数组中.  例如,当 score 数组中的数据为 10.20.30.40.50.60. 70.80.90 时,函数返回值应该是 4,below 中的数据应为10.20.30.40. static void Main(string[] args) { int[] score = { 10, 2

c#新手_每日一题(七)

进击c#的小白一枚,望大神指点. 每日一题:第7题请编写函数int[] GetPrime(int m),其功能是:将所有大于1小于整数m的素数存入prime[]数组中,并传回. 所谓素数,就是除了1和此整数自身外,没法被其他自然数整除的数. static void Main(string[] args) { int m = 12; GetPrime(m); Console.ReadLine(); } static int[] GetPrime(int m) { int[] prime = new

&#8203;老男孩教育每日一题-第105天-Linux如何设置每天凌晨三点重启nginx服务

解答: 假定nginx的安装目录为/application/nginx/sbin/nginx [[email protected] ~]# crontab -e# Timed restart nginx by zhangyao at 201707300  00 03 * * * /application/nginx/sbin/nginx -s reload &>/dev/null 备注 今天是每日一题陪伴大家的第105天,期待你的进步. 对于题目和答案的任何疑问,请在博客评论区留言.往期题目

老男孩教育每日一题-第126天-通过shell脚本打印乘法口诀表

问题背景: 生成9*9乘法表 [[email protected] ~]# seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}' 1x1=1 1x2=2   2x2=4 1x3=3   2x3=6   3x3=9 1x4=4   2x4=8   3x4=12  4x4=16 1x5=5

老男孩教育每日一题-第83天-binlog是什么?记录的什么?有几种工作模式及企业应用场景

参考答案 含义 binlog:是用于记录所有更新了数据的操作语句,语句以事件的形式保存,它描述数据的更改过程作用:用于实时备份数据,数据库的主从复制log_bin 打开记录binlog功能 binlog的查看 mysqlbinlog /home/mysql/binlog/binlog.000003 binlog的删除:可分为自动与手动删除 自动删除 能过binlog参数expire_logs_days来实现 show binary logs; show variables like "expir

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写 文件内容如下: [[email protected] oldboy]# cat oldboy.txt  oldboy.blog.51cto.com www.oldboyedu.com 方法一:sed [[email protected] oldboy]# sed 's#[a-z]#\u&#g' oldboy.txt OLDBOY.BLOG.51CTO.COM WWW.OLDBOYEDU.COM 方

老男孩教育每日一题-2017年5月17日-使用三剑客进行变化格式

1.题目 原始数据: 17/Apr/2015:09:29:24 +0800 17/Apr/2015:09:30:26 +0800 17/Apr/2015:09:31:56 +0800 18/Apr/2015:09:34:12 +0800 18/Apr/2015:09:35:23 +0800 19/Apr/2015:09:23:34 +0800 19/Apr/2015:09:22:21 +0800 20/Apr/2015:09:45:22 +0800 期望结果: 2015-04-17 09:29:

老男孩教育每日一题-2017-05-15-说说你在vi/vim中常用的命令或快捷键

1.题目 2.参考答案 01:学会在vim中查询帮助 :help 或:h即可 :help G :help :wq 02.vi/vim 使用最基本方法 第一个里程碑-使用vi打开oldboy.txtvi /data/oldboy.txt默认是命令模式.第二个里程碑i  ->insert插入模式(编辑模式)  ->然后输入文本I am studying linux.第三个里程碑-按esc键我不想编辑了,退出编辑模式(插入模式),再次进入到命令模式第四个里程碑-保存并退出:wqw write 写入q