zoukankan      html  css  js  c++  java
  • 集合与泛型典型例题

    1、数制转换问题。数制转换问题是将任意一个非负的十进制数转换为其它进制的数,这是计算机实现计算的基本问题。其一般的解决方法的利用辗转相除法。以将一个十进制数N转换为八进制数为例进行说明。假设N=5142,示例图:

    N   N/8(整除)  N%8(求余)      低

    5142   642 6

    642 80 2

    80 10 0

    10 1 2

    1 0 1 高

    从图可知,(5142)10=(12026)8。编写一个控制台程序,实现十进制数转换成八进制数

    (提示:转换得到的八进制数各个数位是按从低位到高位的顺序产生的,而转换结果的输出通常是按照从高位到低位的顺序依次输出。也就是说,输出的顺序与产生的顺序正好相反,这与栈的操作原则相符。所以,在转换过程中可以使用一个栈,每得到一位八进制数将其入栈,转换完毕之后再依次出栈。)

     答案:  Console.WriteLine("输入十进制数字:");

                string  s = Console.ReadLine();

                int n = Convert.ToInt32(s);

                Stack st = new Stack();

                int temp;

                for (int i = 0; i < s.Length; i++)

                {

                    if (n /8 != 0)

                    {

                        temp = n%8;

                        st.Push(temp);

                    }

                    

                    n = n / 8;

                }

                st.Push(1);

                Console.WriteLine("转化为八进制为:");

                foreach (var item in st)

                {

                    Console.Write(item);

                }

                Console.ReadKey();

    2、编写一个控制台程序,控制台输入的数组字符串(如:"123"转换为中文大写(如:壹贰叁)。(要求使用Dictonary<T>)

    答案:  Console.WriteLine("输入字符串");

                string s = Console.ReadLine();

                Dictionary<string, string> di = new Dictionary<string, string>();

                string  temp;

                di.Add("0", "零?");

                di.Add("1", "壹?");

                di.Add("2", "贰?");

                di.Add("3", "叁╰");

                di.Add("4", "肆á");

                di.Add("5", "伍é");

                di.Add("6", "陆?");

                di.Add("7", "柒a");

                di.Add("8", "仈?");

                di.Add("9", "九?");

                Console.WriteLine("转化为汉字形式:");

                for (int i = 0; i < s.Length; i++)

                {

                    temp = s.Substring(i, 1);

                    Console.Write(di[temp]);

                   

                }

             

                Console.ReadKey();

     

    3、编写一个控制台程序,实现List<T>的添加、插入、删除查找、排序等功能。

     List<int> li = new List<int>();

                li.Add(1);

                li.Add(2);

                li.Add(9);

                li.Add(6);

                li.Add(3);

                li.Add(7);    //添�?加ó

                foreach (var item in li)

            {

                    Console.WriteLine(item);

            }

                Console.WriteLine("********");

                li.Insert(1, 8);  //插?入?

                foreach (var item in li)

                {

                    Console.WriteLine(item);

                }

                Console.WriteLine("********");

                li.Remove(8);   //移?除y

                foreach (var item in li)

                {

                    Console.WriteLine(item);

                }

                Console.WriteLine("********");

                li.Sort();  //排?序ò

                foreach (var item in li)

                {

                    Console.WriteLine(item);

                }

                Console.WriteLine("********");

                

                 

                Console.ReadKey();

    拓展软件设计大赛题目

    文字祖玛游戏需求如下:

    1).程序通过控制台输出一个字符串,由ABCDE五个字母组成,例如:ACBEEBBAD

    2).用户输入一个字符,只能是ABCDE其中之一,然后再输入一个要插入的位置。

    3).程序会将这个字符插入到字符串的指定位置前(第一个字符位置为0,第二个字符位置为1,依此类推),然后消除连续出现的三个相同的字符,直到没有连续三个相同的字符为止。

    例如:

    控制台输出:ACBEEBBAD

    用户输入:E, 3

    控制台输出:ACAD

    以上示例表示:在位置3插入E后,结果是:ACBEEEBBAD,消除连续的三个E,结果是:ACBBBAD再次消除连续三个B,结果是:ACAD

    要求如下:

    A.为实现此游戏,需要设计一个方法DealString()

    /**

    * 参数:

    * str: 原始字符串

    * index: 要插入字符的位置

    * letter: 要插入的字符

    * 返回结果: 经过处理后的字符串

    **/

    答案:

    class Program
    {

    static string DealString(string st,string let,int m)
    {
    string temp = st.Insert(m, let);
    for (int i = 0; i < temp.Length - 2; i++)
    {
    if (temp[i] == temp[i + 1])
    {
    if (temp[i + 1] == temp[i + 2])
    {
    temp = temp.Remove(i, 3);
    i = 0;
    }

    }

    }

    return temp;
    }
    static void Main(string[] args)
    {


    string str = "ACBEEBBAD";
    Console.WriteLine("原字符串"+str);
    Console.WriteLine("输入插入字符和插入的位置");
    string letter = Console.ReadLine();
    string i = Console.ReadLine();
    int index = Convert.ToInt32(i);
    Console.WriteLine("新的字符串");
    string result = DealString(str,letter,index);
    Console.WriteLine(result);


    Console.ReadKey();
    }
    }
    }

  • 相关阅读:
    第三届NSCTF之easy ssrf
    第三届NSCTF测试题Welcome
    第三届NSCTF测试题Code php 之MD5碰撞和php strcmp函数绕过
    PUT方法提交message
    使用John the Ripper破解sha512加密的shadow文件密码
    第2章 SQL注入攻击:课时1:注入攻击原理及自己编写一个注入点
    配置IIS10支持php语言脚本
    身边的base64解码工具
    什么是JWT
    IDEA 远程调试
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/8287455.html
Copyright © 2011-2022 走看看