编程刷题
文章平均质量分 55
codenupt
这个作者很懒,什么都没留下…
展开
-
关于自己写数据写入文件,排序,然后结果输出到文件中,关于排序还没有加进去,用自带的排序
#include#include #include #include#include using namespace std;int main(){ clock_t start,finish; double totaltime; ofstream outmyfile("c:\da.txt"); srand(time(NULL)); for (int i=0;i<100原创 2015-01-16 13:28:16 · 410 阅读 · 0 评论 -
华为机试电话号码翻译C++实现
输入DoubleTwothree输出223输入DoubleDoubleTwo输出ERROR不能出现空格逗号数字之类非法字符否则输出ERROR1Twot3输出ERROR#include#includeusing namespace std;int main(){ char *a[11]={"Zero","One","Two","Three","Four","Five原创 2015-04-09 21:23:12 · 664 阅读 · 0 评论 -
华为机试数字倒序
输入1234544输出45321不重复输入-123输出-321输入3210输出123 0在头则不输出#include#includeusing namespace std;int main(){ string s1; cin>>s1; int len=s1.size(); string out(len,'0'); int count=0; int a[10]原创 2015-04-09 22:08:27 · 392 阅读 · 0 评论 -
2015华为校招机试-取石子游戏
/*1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出2.先取者胜输出1.找出规律,斐波拉契数列*/#includeusing namespace std;const int N=65536;int main(){ int num; cin>>num; int a[N]={0}; a[0]=原创 2015-07-25 17:22:18 · 1354 阅读 · 4 评论 -
2015华为校招模拟题-判断一个数字中是否包含两个相同的子串
/*判断给定的一个数字,把它当成字符串以后,该字符串中是否包含相同的两个子串,子串的长度要求大于等于2。比如:12123,该数字包含两个“12”子串;又比如:1223122,该数字包含两个“122”子串。*/#include#includeusing namespace std;int main(){ string str; cin>>str; int flag=0; in原创 2015-07-25 17:17:40 · 1374 阅读 · 2 评论 -
2015华为校招模拟题-最小长方形
/*给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。*/#include#include#includeusing namespace std;int xy(vector&vx,vector&vy){ if ((vx.size()==1&&vy.size()==1)|原创 2015-07-25 17:15:36 · 1129 阅读 · 8 评论 -
2015华为机试练习-超长正整数相加
#includeusing namespace std;#includeconst int N=65536;char*Addequal(char add1[],char add2[],int len1,int len2){ char *res=new char[len1]; int flag=0; for (int i=len1-1,j=0;i>=0;i--,j++) { i原创 2015-08-01 12:52:55 · 992 阅读 · 0 评论 -
2015华为机试练习【测试自动化6】城市电话号码
#include#includeusing namespace std;int main(){ string str2,str3; char*str1=new char[100]; gets(str1); int len1=strlen(str1); str1[len1]='\0'; if (len1==0||len1==3) { if (len1==3) {原创 2015-08-01 12:51:34 · 1084 阅读 · 0 评论 -
2016华为机试-猴子分桃
#includeusing namespace std;const long N=2147483647;int main(){ int m; while(cin>>m) { int begini=0; long i=0,j=0,count=0; for ( i=1; i < N; i++) { count=0; int flag=0; int b原创 2015-08-31 12:27:56 · 867 阅读 · 0 评论 -
2016华为机试-自动售货机
#include#include#includeusing namespace std;int main(){ string str; while(getline(cin,str)) { int countA1=5; int countA2=10; int countA3=14; int money1=5; int money2=5; int money3=原创 2015-09-01 10:35:20 · 1742 阅读 · 2 评论 -
2015华为机试-循环报数
其中有一个测试案例没有通过,testcase3有可能是边界输入问题,虽然已经判断但是没有考虑到题目中的情况,欢迎各位提出问题#includeusing namespace std;#includetypedef struct Node{ char data; Node*next;}List;int main(){ int m; int count=0; string原创 2015-08-01 12:56:30 · 751 阅读 · 5 评论 -
大数求余
大数求余原创 2015-09-01 16:59:39 · 711 阅读 · 0 评论 -
给定一个数组,求数组中所有元素的可能组合(每个元素只出现一次),使其和等于给定数的解决办法
主要使用了暴力匹配的方法:#include#includeusing namespace std;int main(){ int val; int count=0; int i=0; int flag[50]; int sum; cin>>sum; multimapmi; while (cin>>val) { count++; mi.insert(make_p原创 2015-04-18 21:11:01 · 1092 阅读 · 0 评论 -
链表的反转简单实现
#includeusing namespace std;int main(){ struct Node { int data; Node*pnext; }; typedef Node List; List*head=new List(); head->data=0; head->pnext=NULL; int tmp; List*p=head; while (ci原创 2015-04-03 22:06:14 · 296 阅读 · 0 评论 -
字符串转换为单词,重复单词删除
字符串转换为单词,重复单词删除并且按照单词长度递增输出#include#include#include#includeusing namespace std;int main(){ //string s="some local buses,some1234drivers"; string s; cin>>s; char*s1=(char*)s.c_str();//将string原创 2015-04-03 19:55:21 · 1043 阅读 · 0 评论 -
华为机试题二括号的匹配
主要是判断输入的字符串中括号是否匹配#includeusing namespace std;#include#includeint main(){ string s1; cin>>s1; int len=s1.size(); stacks2; for(int i=0;i<len;i++) { if(s1[i]=='(')原创 2015-03-30 11:13:20 · 635 阅读 · 0 评论 -
关于字符串读取实现操作符
#includeusing namespace std;#include#include void arothmetic(const char*pInputStr,long lInputLen,char*pOutputStr){ vectorvi; char* s1=new char(lInputLen); char* s2=new char(lInputLen); int co原创 2015-03-15 21:39:03 · 283 阅读 · 0 评论 -
约瑟夫环的链表C++实现
#includeusing namespace std;typedef struct Node{ int data; Node*next;} NodeList;NodeList* CreateList(int n){ NodeList*p,*q,*head; int i=1; p= new NodeList(); p->data=i; head=p; for( i=1;i原创 2015-03-15 21:42:28 · 568 阅读 · 0 评论 -
删除字串
#include#include#include#includeusing namespace std;int delete_sub_str(const char*str,const char*sub_str,char*result){ int count=0; int len1=strlen(str); int len2=strlen(sub_str); int k=0;原创 2015-03-25 11:47:40 · 334 阅读 · 0 评论 -
华为模拟题二求一个int型整数的两种递减数之和
给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数;2.递减数中各位数之和最大的数)之和。递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况。最大递减数:所输入整数的所有递减数中值最大的一个。 如: 75345323,递减数有:75,753,53,53,532,32。那么最大的递减数为753。各位数字之和最大的原创 2015-03-26 21:25:00 · 370 阅读 · 0 评论 -
华为模拟题一:密码截取C++实现
Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer原创 2015-03-26 21:21:38 · 544 阅读 · 0 评论 -
大数相减C++实现
#include#includeusing namespace std;int main(){ string s1,s2; cin>>s1>>s2; int len1=s1.size(); int len2=s2.size(); int bit=0; int k=0; vectorvi; int t=0; int i=原创 2015-03-29 14:41:15 · 645 阅读 · 0 评论 -
字符串压缩C++实现
#includeusing namespace std;void stringZip(const char*pInputStr,long llnputLen,char*pOutputStr){long l=0; for (long i=0;i{int count=1;for (long j=i+1;j{if (pInputStr[i]==pInputSt原创 2015-03-12 15:58:35 · 3254 阅读 · 0 评论 -
中缀表达式到后缀表达式的转换C++实现
实现个位数的运算//中序表达式转换后缀表达式:-与+为同一优先级但是要满足左向右的执行顺序,处理时要弹出先进栈,压进后遇到的,*与/同样,//*/遇到-+时要要弹出把-+压进栈,同时要考虑到-||+ *这种情况:处理是*弹出栈如果满足剩下大小>=1再与- +判断//计算后续表达式时数据压栈要注意字符转换为数字,计算结果转换为字符再进栈。#include#include #include原创 2015-03-30 11:07:34 · 511 阅读 · 0 评论 -
华为机试题三 关于通配符的匹配
主要是输入字符串1233232,2?3?3 用逗号分割匹配串,输出第一个匹配的字串#include#include#includeusing namespace std;int main(){ string s1; vectors2,s3,s4; cin>>s1; int count=s1.find(','); for (int l=0;l<count;l++) {原创 2015-03-30 11:16:04 · 402 阅读 · 0 评论 -
字符串过滤C++实现
#includeusing namespace std;void stringFilter(const char*pInputStr,long llnputLen,char*pOutputStr){ int a[26]; for (int j=0;j<26;j++) { a[j]=0; } long l=0; for (long i=0;i<llnputLen;i++) {原创 2015-03-12 15:55:55 · 2343 阅读 · 0 评论 -
大数相加的C++简单实现
#include #include #include using namespace std;void addsum(vectorv1,vectorv2){ int size1=v1.size(),size2=v2.size(); vectorvvs; int y=size1-1; for (int k=size2-1;k>=0;k--,y--) { int ssum;原创 2015-03-12 14:38:14 · 443 阅读 · 0 评论 -
华为机试题一 字母与字符串位置
根据同学的描述第一题关于输入abdcc123dada,字母在前,数字在后,顺序不变#includeusing namespace std;#includeint main(){ string s1,s2,s3; cin>>s1; int len=s1.size(); for (int i=0;i<len;i++) { if(s1[i]原创 2015-03-30 11:11:05 · 401 阅读 · 0 评论 -
2016华为机试-糖果消消除实现
#include#includeusing namespace std;bool isexchange(char a1[5][5],int x,int y){ int count=1; for (int left=y-1; left >=0; left--) { if (a1[x][y]==a1[x][left]) { count++; } else {原创 2015-09-10 09:27:59 · 644 阅读 · 0 评论