首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 分享:让人懊恼的面试-看程序员的基本功 [已结帖,结帖人:yinyuan1987]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fengsousousou
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-30 09:30:45 楼主
    今天去参加了微软的一个外包的公司的招聘,当然,这个招聘的公司不在国内,不过好在出人意料的是这个公司竟然在武汉来招聘了,我的一个非常优秀的 c++的朋友被应聘了,然后他极力推荐我去参加应聘,我第一次去,那个boss(老外)非常赞赏我,因为我的简历的原因,原来做了Shangducms这个项目并且还出了一本书,所以那个老外非常赞赏我,并且直接安排我到最后的面试。

    话说回来,这个老外是一个hr,但是是微软的员工并且长达10年的工龄,这个老外对算法和素质要求的比较高(其实国外的公司都差不多是这样),然后这个老外出了两个题,一个题是编程题,另一个是设计题,这两个题在各位高手眼中肯定比较简单,这两个题是这样的。

    1.对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”能够排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,也就是说,在排序的过程并不是传统的按照字符串排序,在排序中还需要将小写字母一并排序,也就是说a字符串要在B或b之前。

    2.设计一个图书管理系统,无需实现,只需要写清思路就可以了。

    考试也很轻松,出了不能用QQ,MSN以外,其他的什么baidu啊google啊都可以查,本来拿到这两个题的时候觉得非常的简单(当时的感觉那是相当的简单),但是没想到做了2-3个小时还没有做出来,要不就是出现错误要不就是无法排序,结果只好被老外说“I'm sorry”了。

    后来回来了之后,感觉非常的郁闷,其实也不是特别郁闷,但是觉得自己水平不错嘛,这样的工作当然是唾手可得了,没想到马失前蹄,感觉不爽,就和朋友玩了几个小时游戏,后来坐回电脑前,改不了程序员的“劣根性”,非要搞出个所以然来,结果没出20分钟就搞定了,真是很郁闷!因为如果做不出来就算了,结果自己做20分钟就做出来了,在面试时却没有做出来,我想除了紧张以外,更多的还是基础知识不牢固的原因,下面分享一下自己的代码。

    其实第一题很简单,就是一个排序,随便用什么算法都可以,直接冒泡就可以,不过难点在于比较字符串中间的字符的ASCII的值,首先写其他代码,初始化一下,示例代码如下所示。
            public string[] str = { "dad", "bood","bada","Admin","Good","aete","cc","Ko","Beta","Could"};
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                textBox1.Text = "";
                for (int i = 0; i < str.Length; i++)
                {
                    textBox1.Text += str[i].ToString()+" ";
                }
            }



    上面这串代码很简单,就是先声明一个数组咯,然后在窗体加载时进行数组的遍历(原题是从文件中读取一串字符串转化为数组,这个简单,固可以忽略),当用户单击排序按钮时,进行排序,这里也很简单,示例代码如下所示。
    Code
            private void button1_Click(object sender, EventArgs e)
            {
                Sort(str);
                textBox1.Text = "";
                for (int i = 0; i < str.Length; i++)
                {
                    textBox1.Text += str[i].ToString() + " ";
                }
            }



    当用户单击按钮时,使用排序Sort方法排序字符串然后清空现有的内容再呈现在控件中,这里关键的就是Sort方法的实现,Sort方法的实现很简单,直接冒泡就可以了,但是注意的是,这里是字符串,而不是数字,冒泡的话需要判断大小,如果使用C#函数,则可以很容易的实现Sort方法,示例代码如下所示。
    Code
            private void Sort(string[] s)
            {
                for (int i = 0; i < s.Length; i++)
                {
                    for (int j = 0; j < s.Length - i-1; j++)
                    {
                        if (String.CompareOrdinal(s[j], s[j + 1]) > 0)
                        {
                            string tem = s[j];
                            s[j] = s[j+1];
                            s[j + 1] = tem;
                        }
                    }
                }
            }



    好了,如果使用String.CompareOrdinal方法当然能够快速的排序,但是这里有一个问题,先不说这里不能用自带的类,就说这个题目吧,CompareOrdinal方法还是无法实现需求,但是这里给了一个思路,使用冒泡排序进行排序,可以在函数中实现字符串的大小的对比,就好像数字的对比一样,这里就该一下,使用自己的方法,示例代码如下所示。
    Code
            private void Sort(string[] s)
            {
                for (int i = 0; i < s.Length; i++)
                {
                    for (int j = 0; j < s.Length - i-1; j++)
                    {
                        if (compare(s[j], s[j + 1]) > 0)
                        {
                            string tem = s[j];
                            s[j] = s[j+1];
                            s[j + 1] = tem;
                        }
                    }
                }
            }



    上面的代码使用自己的compare方法进行判断,其实现思路基本同String.CompareOrdinal相同再加以改进就可以了,这是最重要的方法,因为这个方法直接关系到排序,示例代码如下所示。


    Code
            private int compare(string str1, string str2)
            {
                int x=0;
                for (int i=0,j=0; (i < str1.Length)&&(j <str2.Length); i++,j++)
                {
                    int s1 = (int)str1[i];
                    int s2 = (int)str2[j];

                    //insert
                    if (s1 >= 97)
                    {
                        s1 -= 32;
                    }

                    if (s2 >= 97)
                    {
                        s2 -= 32;
                    }
                    //end

                    if (s1 > s2)
                    {
                        x = 1;
                        break;
                    }
                    else if (s1 < s2)
                    {
                        x = 0;
                        break;
                    }
                    else if (s1 == s2)
                    {
                        if ((int)str1[i] > (int)str2[j])
                        {
                            x = 1;
                            break;
                        }
                        else
                        {
                            x = 0;
                            break;
                        }
                    }
                }
                return x;
            }



    在进行compare方法的实现时,首先要确定思想,对字符串进行排序,首先要判断两个字符串的第一个字母的ASCII码,如果相等,就判断字符串的下一个字母的ASCII,以此类推,但是这里注意的是a的ASCII要比Z要大,所以在判断前还需要判断是否为小写字母(这里的方法比较蠢,呵呵),如果是小写,转换成大写进行判断,同样为了实现String.CompareOrdinal方法的效果,可以返回一个int类型的值进行判断.

    这样,整个排序就完成了,做完之后,我自己真的是感慨良深啊,自己做了多年的.NET开发,却真正意义上并不太懂How the Program Works,老外在最后也对我说了“虽然你懂很多ASP.NET,WCF,WPF等等知识,但是最基础的却掌握的不好,相比之下,我建议你在这几个月的时间里多学习一下基础,当你的基础牢固了之后,一切都变得简单了(Everything gonna to be easy)”,确实,当时做不出来最郁闷的并不是题目本身,而是忽然感觉到自己学习的过程有点像揠苗助长一样,应用做多了,反而基本的都忘记了。

    其实,这篇文章并不是最出彩的文章,也不是技术含量最深的文章,而且这个题目肯定有很多高手看一眼就能够做出来,但是我写这篇文章,只是想分享一下自己的经历,真的,其实越到后来越发现,基础往往是最重要的,这让我想起几个月前讨论的基础是不是最重要的话题时,很多人都说只要工作的时候翻翻书就可以了,当时我也是这么想,想着不会了翻书找一下就行了,没想到优秀是一种习惯,熟练的掌握基础才是编写高质量代码的基本要求。

    最后在这里分享一下一点总结:

    1.面试千万不要紧张,特别是face to face的时候,还特别是老外面试,千万不要紧张,否则水平还没有平时的十分之一。

    2.多多锻炼一下自己的基本功,无论是在校学生(像我还有几个月时间),还是上班的同学(我也工作了几年),都应该好好把握时间多练习基本功,在校生有很多的机会可以练,而参加工作的同学也需要“温故而知新”。

    3.优秀是一种习惯,无论是在解决问题上还是在编码风格上,都应该按照最好的标准要求自己(老外还说看代码主要是要看风格)。

    最后在文章的结尾希望能够和各位高手一起分享Code的乐趣和经验。

    4.可以上www.izuren.com去看看面试题

    分享一句不想关的话,人本是人,不必刻意去做人,世本是世,无须精心处世。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ZangXT
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-11-30 09:57:461楼 得分:1
    学习了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dengfeiling
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 11:46:242楼 得分:1
    厉害
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • saiwu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 12:35:483楼 得分:1
    学习了.LZ强悍
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yinyuan1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-11-30 13:09:014楼 得分:0
    不错,感谢楼主分享经验啊!
    推荐一下,
    基本功很重要啊
    共同学习啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zlb789
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 13:19:055楼 得分:1
    是啊  基本功啊

      支持LZ
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • afjafjafj2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 13:23:046楼 得分:1
    楼主把我拉回来了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zfl110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 13:26:547楼 得分:1
    学习,顶下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rightyeah
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 13:47:488楼 得分:1
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wzhymxz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 13:51:389楼 得分:0
    拿走了,呵呵!好东西!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaopoy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:02:3610楼 得分:1
    4.可以上www.izuren.com去看看面试题
    这是亮点。
    帮顶接分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • taolanjian
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:03:4311楼 得分:1
    学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zilong4460072
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:03:5012楼 得分:1
    niu!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • TJYnebula
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:06:1613楼 得分:1
    很好很强大

      有个小问题
      str[i].ToString()+" ";
      To or to,而且可以直接写成 str[i]+" ",免得他说用了String类的方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • weiniweiyi
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:14:4514楼 得分:1
    shoule
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rongyunsheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 14:22:2715楼 得分:0
      不错
      面试还是要好的功底和良好的心态
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljmiis
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:04:4616楼 得分:0
    继续努力吧,没啥大不了的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nettman
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:06:1417楼 得分:1
    学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MicrosoftCenterOfHN
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:07:1218楼 得分:1
    楼主的话让我感慨良久。谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • aaapop
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:13:2019楼 得分:1
    niu!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • riyueren
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:35:5420楼 得分:1
    确实,有时遇到一些小问题却想不起该怎么解决,过后想起来又觉得非常简单
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dangdang2471
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:35:5321楼 得分:1
    图书馆的问题,有思路吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • che253604783
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:41:2322楼 得分:1
    谢谢分享经验!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jimmy_it
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:44:1023楼 得分:1
    语言还可以不限?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rongyunsheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:50:4324楼 得分:1
    对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类 
    其实晓得collections.sort 和Arrays.sort 是怎么实现的就晓得了
    实现comparator 接口 ,自己定义 int compare(object o1,object o2 ) 方法

    我有个问题啊
    String s="abc" ;
    int a=(int)s[1];
    能这样用吗?  不能这样用吧
    那遍历字符串中的每个字符要用什么方法(不是规定什么类的方法都不能用吧)?????
    能用String 类方法还好,直接 char c=String.charAt(int i);

    它规定不能用现成的类库函数,应该是避免你用 Collections.sort(),和arrays.Sort()吧 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yihaijian1
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:57:2925楼 得分:0
    本人基础不行,继续努力
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chengli0946
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:57:5626楼 得分:0
    图书馆的问题,有思路吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ohongxin1107
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 15:58:2927楼 得分:0
    楼主一看就是牛人
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yu1360
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:03:0628楼 得分:0
    学习中,谢谢楼主分享自己的经历。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wp0140502
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:05:1229楼 得分:0
    好贴,虽然看的不太明白,我的水平有限吧!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wp0140502
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:05:2630楼 得分:0
    好贴,虽然看的不太明白,我的水平有限吧!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • monkeyapple
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:07:2731楼 得分:0
    学习学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • onlyhunk
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:17:2132楼 得分:0
    3q
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiazhijiang520
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:23:1733楼 得分:0
    学习````
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zrjrmr
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:28:5534楼 得分:0
    多谢楼主分享面试经验,我也要努力加强基础学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wh176781788
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:38:2635楼 得分:0
    分享一句不想关的话,人本是人,不必刻意去做人,世本是世,无须精心处世。

    人生就是一场虚空大梦哎~~=。=
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • phisherr
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:40:2636楼 得分:0
    支持一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DenielJean
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:41:1937楼 得分:0
    UP!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mxmkeep
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:48:5338楼 得分:0
    谢谢,受教了..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qinqinhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:49:3139楼 得分:0
    ding
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • javac83
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:55:2840楼 得分:0
    楼主辛苦!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • diaoyang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:55:3741楼 得分:0
    不错,很好
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaochongzi668
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 16:57:3442楼 得分:0
    受教了,学习学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yangjinjuan838
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:17:4943楼 得分:0
    真好,受益匪浅,感觉又学会了好多知识。心里好舒服,好痛快。。呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • leon_xiao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:26:4044楼 得分:0
    可惜了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dada07
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:30:2145楼 得分:0
    强顶.......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ranxiutao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:39:5346楼 得分:0
    很好感触……好贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liulili19830401
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:40:1847楼 得分:0
    学习这种能自我总结的态度和精神!~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rongyunsheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:43:0148楼 得分:0
    Java code
    public class TestStringSort{ public static int compare(String s1,String s2){ int num1,num2; for(int i=0,j=0;i<s1.length()&&j<s2.length();i++,j++){ num1=s1.charAt(i); num2=s2.charAt(j); if(num1<91&&num2<91){ //两大写2 if(num1<num2) { //A,B A在B之前 返回1 return 1; } else if(num1>num2){// B,A B在A之后 返回-1 return -1; } } else if(num1>90&&num2>90){//两小写 if(num1>num2){ //b,a b在a之后 返回-1 return -1; } else if(num1<num2){ // a,b a在b之前 返回1 return 1; } } else if(num1<91&&num2>90){//一大一小 if(num1+32==num2){ //A,a A在a之前 返回 1 return 1; } else { if(num1+32<num2){// A,b A在b之前 返回1 return 1; } else if(num1+32>num2){// B,a B在a之后 返回-1 return -1; } } } else if(num1>90&&num2<91){//一小一大 if(num1==num2+32){ //a, A a在A之后 返回-1 return -1; } else{ if(num1<num2+32){ //a, B a在B之前 返回1 return 1; }else if(num1>num2+32){//b,A b在A之后返回-1 return -1; } } } } return 0; } public static void main(String args[]){ String[] s={"abds","Aded","Bdef","ABdS","degh","Dghj","Exyz","eXyz","ExYZ"}; for(int i=0;i<s.length;i++){ for(int j=1;j<s.length;j++){ if(TestStringSort.compare(s[j-1],s[j])<0){ String temp=""; temp=s[j-1]; s[j-1]=s[j]; s[j]=temp; } } } for(String str:s){ System.out.print(str+" "); } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuqian4243
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:45:5149楼 得分:0
    厉害啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • paul3278
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:50:4450楼 得分:0
    教学学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • paul3278
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:51:1951楼 得分:0
    继续学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liubuweiright
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:52:0552楼 得分:0
    人本是人,不必刻意去做人,世本是世,无须精心处世。

    顶顶顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sp1234
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:58:5353楼 得分:0
    引用楼主 fengsousousou 的帖子:
    3.优秀是一种习惯,无论是在解决问题上还是在编码风格上,都应该按照最好的标准要求自己(老外还说看代码主要是要看风格)。


    呵呵,这就是国内的教育风格,“标准永远放在风格之前去强调”。

    其实也没有什么,不就是微软嘛,微软里边的人也跟别的大公司一样搞小团伙打击报复别人的。此处不留爷.....

    你的那个嵌套for循环代码其实说明了一种“计算”风格而非“说明”风格,这说明你的思路偏重计算而非逻辑(如果你写出一个没有循环语句的程序来会非常清晰好懂)。也许你是一个聪明的工匠,但是干大事的人是往往不是那么在乎所谓的运行效率,而在乎清晰易懂的逻辑。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunxu5568936
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 17:59:0354楼 得分:0
    楼主
    强啊 !!!
    死顶!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • luyanvv
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:10:4755楼 得分:0
    学习,受益匪浅
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • czp0608
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:16:1956楼 得分:0
    微软外包的面试题果然有深度啊!楼主很强啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • WuBill
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:22:4357楼 得分:0

    ●█〓██▄▄▄▄▄▄ ●●●●●●●顶顶顶顶顶顶顶
    ▄▅██████▅▄▃▂ ▄︻┻┳═一顶起来!!!
    ██████████████
    ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • junying2yu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:48:5458楼 得分:0
    学习啊,谢谢楼主
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hzshzs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:54:5859楼 得分:0
    受用!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lzqayms
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 18:59:4960楼 得分:0
    楼主,郁闷啊。呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kao331431214
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 19:04:0961楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shiyanlaji
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 19:09:2162楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaosanaiqinga
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 19:32:4863楼 得分:0
    顶。。。学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jkx01whg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 19:33:1664楼 得分:0
    谢谢分享,楼主把我拉回来了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ilstar
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 19:53:2865楼 得分:0
    优秀是一种习惯
    很赞同这句话
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ken_scott
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 20:03:5866楼 得分:0
    基础是才根本
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fulton_xc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 20:13:4367楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yh850472175
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 20:42:2368楼 得分:0
    怎么没第二题的思路啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • changsheng230
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:05:1169楼 得分:0
    楼主,同感同感!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lyb520320
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:12:4170楼 得分:0
    人本是人,不必刻意去做人,世本是世,无须精心处世.
    经典
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • android2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:14:2171楼 得分:0
    帮顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qap22
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:15:0172楼 得分:0
    友情up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • aca_jingru
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:22:3673楼 得分:0
    顶。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • andy_514
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:24:4574楼 得分:0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yuxingleo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:29:0675楼 得分:0
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linweizhou
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:30:4676楼 得分:0
    是啊,太重要拉。要好好努力才行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxianz1689
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:36:2477楼 得分:0
    逼本是逼, 不必刻意去装逼!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • WEBCONFIG
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:38:1378楼 得分:0
    很有启发啊。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tiamay
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:38:4879楼 得分:0
    多谢楼主分享面试经验,我也要努力加强基础学习!
    听君一席经验,胜读几年书啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • GIS_Master
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:41:0480楼 得分:0
    好好学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • king19840811
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 21:51:1981楼 得分:0
    很好,很强大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wwoodd1002
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:03:5482楼 得分:0
    谢谢提醒
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuhengwinner
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:09:3083楼 得分:0
    学习了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • leiweibo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:10:5684楼 得分:0
    谢谢楼主分享,真的学习了 。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • RolanJ
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:19:4785楼 得分:0
    基础果然重要
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bestboy1
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:20:5186楼 得分:0
    有启发
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Dex_Love
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:31:2387楼 得分:0
    关于楼主写的compare函数
    似乎只是对每个字符串的第一个字符进行了比较。
    compare函数里面的循环似乎没起作用,
    也就是说“ABD" ,"AaD"楼主似乎并不会对这两个字符串换序。
    那么compare里面的循环拿来干嘛呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • andyelvis
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:32:3188楼 得分:0
    受益匪浅
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yanyong9999
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:40:5189楼 得分:0
    楼主厉害,领教了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bdceo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:43:2590楼 得分:0
    LZ:谢谢经验的分享,确实不错,感觉自己像是在面试,呵呵,再有三个月就毕业了,我想我对基础问题也该提前重视起来了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chgq456
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:46:2691楼 得分:0
    人本是人,不必刻意去做人,世本是世,无须精心处世。
    这句话收下了

    顶顶...................
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Qevil
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:46:3692楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ou_yangpengfei
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:50:4693楼 得分:0
    在学习在学习再学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • No4000
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 22:53:3194楼 得分:0
    ding
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • carus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:00:3495楼 得分:0

    #include "stdafx.h"

    #include <iostream>
    #include <string>
    using namespace std;

    int main()
    {
    string* str = new string[8]; //“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”
    str[0] = "Bc";
    str[1] = "Ad";
    str[2] = "aC";
    str[3] = "Hello";
    str[4] = "X man";
    str[5] = "little";
    str[6] = "During";
    str[7] = "day";

    string tmp;
    for (int i = 0; i < 8; i++)
    {
    for (int j = i+1; j < 8; j++)
    {
    if ((str[i][0] >= 'a' && str[i][0] <= 'z' && str[j][0] >= 'a' && str[j][0] <= 'z')//都是小写
    ||(str[i][0] >= 'A' && str[i][0] <= 'Z' && str[j][0] >= 'A' && str[j][0] <= 'Z'))//都是大写
    {
    if (str[i][0] > str[j][0])
    {
    tmp = str[i];
    str[i] = str[j];
    str[j] = tmp;
    }

    }

    if (str[i][0] >= 'A' && str[i][0] <= 'Z' && str[j][0] >= 'a' && str[j][0] <= 'z')//前大后小
    {
    char ch = char(str[i][0] + 32);
    if (ch > str[j][0])
    {
    tmp = str[i];
    str[i] = str[j];
    str[j] = tmp;
    }
    }

    if (str[i][0] >= 'a' && str[i][0] <= 'z' && str[j][0] >= 'A' && str[j][0] <= 'Z')//前小后大
    {
    char ch = char(str[i][0] - 32);
    if (ch >= str[j][0])
    {
    tmp = str[i];
    str[i] = str[j];
    str[j] = tmp;
    }
    }
    }
    }

    for (int i = 0; i < 8; i++)
    {
    cout < < str[i] < < endl;
    }
    return 0;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • carus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:01:4296楼 得分:0
    我也来试试!!!呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • notepads
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:07:1697楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shoushaodon
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:11:3198楼 得分:0
    呜呜,革命还得继续呀。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • super_chris
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:13:2099楼 得分:0
    感谢分享
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • leewei8728
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:15:15100楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhxingway
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:17:01101楼 得分:0
    收藏到一个好网站啊,真的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hbjyming
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:19:37102楼 得分:0
    最后一句偷走了,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ameyume
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:27:37103楼 得分:0
    深刻。
    我就是基础掌握的不好
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • playboy312
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:32:35104楼 得分:0
    我只学过C语言,但是我想上题没有必要弄得那么难吧,只要判断首字母就行了吧
    比如
    首字母是大写,加上32与小写的进行比较,如果是大写的,且是相等的就排前面,就这么简单,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bluecomputer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:35:19105楼 得分:0
    当优秀成为一种习惯。。。一切从基础做起。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • playboy312
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:36:18106楼 得分:0
    我的思路跟95楼的有点相似
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiangshas
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-30 23:43:52107楼 得分:0
    谢谢分享你的面试经验。
    的却基本功是的牢固一些,要不然会给人感觉有些华而不实。总之,什么事情都应该从小事情着手。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwtazt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:03:12108楼 得分:0
    很有启发,主要是基础!其实经验也很重要!、
    看来要多加学习了!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaozhuaizhuai
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:08:14109楼 得分:0
    UP!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ypb362148418
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:20:12110楼 得分:0
    学习了……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chgq456
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:27:31111楼 得分:0
    #include <iostream>
    #include <string>
    using namespace std;
    bool IsCapital(std::string string);
    void main()
    {
    std::string str[] = {"Bc", "Ad", "aC", "Hello", "Xman", "little", "During", "day"};
    for(int i = 0; i < 7; ++i )
    {
    for(int j = i+1; j < 8; ++j)
    {
    if( !IsCapital(str[j]) )
    {
    if( IsCapital(str[i]) )
    {
    int temp = (int)str[i][0] - 32;

    std::string sorting = "";
    if( ((int)str[j][0]) < temp)
    {
    sorting = str[j];
    str[j] = str[i];
    str[i] = sorting;
    }
    }
    else
    {
    std::string sorting = "";
    if(str[i][0] > str[j][0])
    {
    sorting = str[j];
    str[j] = str[i];
    str[i] = sorting;
    }
    }
    }
    else
    {
    if( IsCapital(str[i]) )
    {
    std::string sorting = "";
    if(str[i][0] > str[j][0])
    {
    sorting = str[j];
    str[j] = str[i];
    str[i] = sorting;
    }
    }
    else
    {
    int temp = (int)str[j][0] - 32;
    std::string sorting = "";
    if( ((int)str[i][0]) > temp)
    {
    sorting = str[j];
    str[j] = str[i];
    str[i] = sorting;
    }
    }
    }
    }
    }
    for(int i = 0; i < 8; ++i )
    {
    cout < <str[i] < <endl;
    }
    int b = 0;
    }
    bool IsCapital(std::string string) //判断这个字符窜的第一个字符是大写还是小写
    {
    if(string[0] < 91)
    {
    return false;
    }
    return true;
    }


    这是我写的  第一题的代码      用了一个小时 

    请高手  点评
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • arke55
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:29:08112楼 得分:0
    紧张容易导致事情复杂化,..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shuyumac
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:39:23113楼 得分:0
    谢过了。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhai2341
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 00:51:58114楼 得分:0
    牛 谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovesun723
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 01:22:34115楼 得分:0
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • knight0450
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 01:35:07116楼 得分:0
    真是,我也属于爱紧张的人~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ywsms
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 01:43:24117楼 得分:0
    羡慕 啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bigpretty
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:22:11118楼 得分:0
    牛人  呵呵 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • beikehanbao23
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:28:07119楼 得分:0
    学习了.LZ强悍
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • beikehanbao23
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:28:34120楼 得分:0
    学习了.LZ强悍
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • new2ater
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:31:12121楼 得分:0
    不错,感谢楼主分享经验啊!
    推荐一下,
    基本功很重要啊
    共同学习啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hfgayy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:32:48122楼 得分:0
    引用楼主 fengsousousou 的帖子:
    分享一句不想关的话,人本是人,不必刻意去做人,世本是世,无须精心处世。


    确实不相关。

    回想我第一次面试的时候,面试官只问了几个简单的语法问题,根本没提到算法(可能工作中不会用到吧)。

    觉得太幸运了。

    不过确实应该把基本功搞扎实了,不是为了面试,而是培养一种做事的态度,做一个合格的程序员。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • derelictangel
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:38:05123楼 得分:0
    学习

    PS:
    我的目标是 ---->

    ^_^
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wsp6188
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 08:47:19124楼 得分:0
    好文啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rlj021
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:01:03125楼 得分:0
    不错……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guanghui_10
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:04:58126楼 得分:0
    好东西,当然得顶拉。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ph215405357
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:05:56127楼 得分:0
    niu
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lxmtx___2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:08:45128楼 得分:0
    学习中
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mfineky
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:09:35129楼 得分:0
    lz!加油!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chandlersong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-01 09:19:08130楼 得分:0
    Java code
    import java.util.Arrays; /*1.对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中, 字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day” 能够排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”, 也就是说,在排序的过程并不是传统的按照字符串排序,在排序中还需要将小写字母一并排序, 也就是说a字符串要在B或b之前。*/ public class LetterSort { public static void main(String[] args) { // TODO Auto-generated method stub String[] str = { "dad", "bOod", "bada","Admin","Good","aete","cc","Ko","Beta","Could"}; MyString[] strcompare = new MyString[str.length]; for(int i = 0;i<str.length;i++){ strcompare[i] = new MyString(str[i]); } Arrays.sort(strcompare); for(MyString string:strcompare){ System.out.println(string); } } }

    Java code
    /*这个类是封装了一个String。实现Comparable接口。这样使得可以用Arrays的sort方法进行排序*/ public class MyString implements Comparable<MyString> { private String string; public void setString(String string) { this.string = string; } public String getString() { return string; } //构造方法 public MyString(String string){ this.string = string; } //比较 public int compareTo(MyString other) { // TODO Auto-generated method stub char[] thisarr