随笔分类 -  程序员面试题

摘要:分析:这又是一道考察发散思维的很有意思的题目。当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关键所在。看到的这个题目,我的第一反应是傻眼了,四则运算都不能用,那还能用什么啊?可是问题总是要解决的,只能打开思路去思考各种可能性。首先我们可以分析人们是如何做十进制的加法的,比如是如何得出5+17=22这个结果的。实际上,我们可以分成三步的:第一步只做各位相加不进位,此时相加的结果是12(个位数5和7相加不要进位是2,十位数0和1相加结果是1);第二步做进位,5+7中有进位,进位的值是10;第三步把前面两个结果加起来,12+10的结果是22,刚好5+17=22。前面我们 阅读全文
posted @ 2013-10-06 20:50 小菜美妞成长中 阅读(184) 评论(0) 推荐(0)
摘要:一、冒泡排序#includeusing namespace std;void bubble_sort(int a[],int len){ int i,j,temp; int exchange=0; for(i=0;iusing namespace std;void insert_sort(int a[],int n){ int i=0,j=0,temp=0; for(i=1;i=0;j--) a[j+1]=a[j]; a[j+1]=temp; }}int main(){ int a[]={7,3,5,8,9}; insert_sort(a,5); for(int i=0;iusing name 阅读全文
posted @ 2013-10-06 16:55 小菜美妞成长中 阅读(267) 评论(0) 推荐(0)
摘要:#include #include using namespace std;char *deletechar(char*inputstr,char *outputstr){ char *deststr=outputstr; bool table[26]={false}; int k=0; for (int i=0;i<strlen(inputstr);i++) { char c=inputstr[i]; if (table[c-'a']==false) { outputstr[k++]=c; table[c-'a']=true; } } outputstr 阅读全文
posted @ 2013-10-06 16:51 小菜美妞成长中 阅读(211) 评论(0) 推荐(0)
摘要:/*中国有句俗语叫"三天打鱼两天晒网"。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是"打鱼"还是"晒网"。问题分析与算法设计:根据题意可以将解题过程分为三步:1)计算从1990年1月1日开始至指定日期共有多少天;2)由于"打鱼"和"晒网"的周期为5天,所以将计算出的天数用5去除;3)根据余数判断他是在"打鱼"还是在"晒网";若余数为0,1,2,则他是在"打鱼";否则是在"晒网"。在这 阅读全文
posted @ 2013-09-28 10:37 小菜美妞成长中 阅读(511) 评论(0) 推荐(0)
摘要:将输入的2个数字进行反转,然后进行相加,返回他们的和。说明:数字123,反转变成321。如果数字最后面的0,反转后除掉0,如数字210,反转后12。运行时间限制: 无限制#includeusing namespace std;int numReverse(int num){int modNum =0;int result=0;while(num%10==0) num=num/10;while(num){modNum = num %10;num=num / 10;result=result*10+modNum;} return result;}int main(){int num1,num2;c 阅读全文
posted @ 2013-09-28 10:34 小菜美妞成长中 阅读(645) 评论(0) 推荐(0)
摘要:面试例题:字符串的排序及交换。考点:字符串综合编程能力。出现频率:★★★编写一个函数,首先将一条字符串分成两部分,前半部分按ASCII码升序排序,后半部分不变,(如果字符串是奇数则中间的字符不变)其次将前后两部分交换,最后输出该字符串。测试字符串"ADZDDJKJFIEJHGI"。#include#includevoid mysort(char *str,int num){int i,j;int temp=0;for(i=0;i<num;i++){for(j=0;j<num-i;j++){if(str[j]<str[j+1]){temp=str[j];st 阅读全文
posted @ 2013-09-23 16:23 小菜美妞成长中 阅读(344) 评论(0) 推荐(1)
摘要:/*面试例题:从字符串的指定位置开始,删除其指定长度字符。考点:字符串综合编程能力。解析根据题意,假设一个字符串"abcdefg",从第2个字符开始(索引为1),删除两个字符。删除后的字符串是"adefg"。*/char* DeleteChars(char* str,int pos,int len){char *p=str+pos-1; // 指向pos位置字符int tt=strlen(str); //计算字符长度if(postt){return;}if((p+len-str)>tt){*p='\0';return str;}wh 阅读全文
posted @ 2013-09-21 09:30 小菜美妞成长中 阅读(1086) 评论(0) 推荐(0)