码迷,mamicode.com
首页 > 其他好文 > 详细

集合与泛型典型例题

时间:2018-01-15 12:27:27      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:cti   img   ack   中文   log   sort   nbsp   move   insert   

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: 要插入的字符

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

**/

 

集合与泛型典型例题

标签:cti   img   ack   中文   log   sort   nbsp   move   insert   

原文地址:https://www.cnblogs.com/sunxiaoyan/p/8287455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!