华为笔试
笔试题一:
#include <iostream> using namespace std; int main() { string str; getline(cin,str); string ss; string res; int max=0; for(int i=0;i<str.size();i++) { if(str[i]>='0'&&str[i]<='9') { ss+=str[i]; while(str[i+1]>='0'&&str[i+1]<='9') { i++; ss+=str[i]; } if(ss.size()>max) { max=ss.size(); res=ss; } else if(ss.size()==max) res=ss; } ss.clear(); } if(ss.size()!=0) cout<<res<<endl; cout<<max<<endl; return 0; }
笔试题二:
#include<stdio.h> #include<string.h> int num[101],m; void NumberoffGame(int m) { //printf("m=%d\n",m); int baoshu=0,shengyu=100,i=1; while(shengyu>=m) { baoshu++; //getchar(); if(baoshu>100) baoshu=1; while(num[i]) { //puts("heheh"); i++; if(i>100) i=1; } //printf("baoshu=%d,i=%d\n",baoshu,i); if(baoshu==m) { num[i]=1; //printf("%d\n",i); baoshu=0; shengyu--; } i++; } //printf("shengyu=%d\n",shengyu); int nums=0; for(i=1;i<=100;i++) if(!num[i]) { nums++; if(nums!=shengyu) printf("%d,",i); else nums=i; } printf("%d\n",nums); } int main() { while(~scanf("%d",&m)) { memset(num,0,sizeof(num)); if(m<=1||m>=100) printf("ERROR!"); NumberoffGame(m); } }
笔试题三:
#include <iostream> using namespace std; int array_a[1000]; int array_b[1000]; int main() { int m,n; cin>>m>>n; for(int i=1;i<=m;i++) { cin>>array_a[i]; } int min=9999; int k=-1; for(int i=0;i<n;i++) { array_b[i]=array_a[i]; } for(int i=n;i<m;i++) { for(int j=0;j<n;j++) { if(min>array_b[j]) { min=array_b[j]; k=j; } } array_b[k]+=array_a[i]; } int max=-9999; for(int i=0;i<n;i++) if(max<array_a[i]) max=array_a[i]; cout<<max<<endl; return 0; }
每天明白一点知识