2017校招华为上机题汇总
超详细 超全2017校招华为上机题汇总旗舰版
2017校招华为上机题汇总
1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数
void Stringchang(const char*inpu,char*output)
其中input是输入字符串,output是输出字符串
#include<iostream>
#include<cctype>
#include<cstring>
using namespace std;
void stringchang(const char*,char*);
int main()
{
char input[100],output[100];
cin.getline(input,100);
stringchang(input,output);
cout<<output<<endl;
return 0;
}
void stringchang(const char* input,char* output)
{
int m=strlen(input),n=0;
for(int i=0;i<m;i++)
{
if(isalpha(input[i]))
{
if(input[i]=='z')
output[n++]='a';
else if(input[i]=='Z')
output[n++]='A';
else
output[n++]=input[i]+1;
}
else
output[n++]=input[i];
}
output[n]='\0';
}
2. 求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。
函数为 int same(int num)
其中num是输入的整型数字
超详细 超全2017校招华为上机题汇总旗舰版
写的很差,懒得改了,不要看吧!
#include<iostream>
#include<cstring>
using namespace std;
int same(int);
int main()
{
int num;
cin>>num;
int m=same(num);
cout<<m<<endl;
return 0;
}
int same(int num)
{
int n[100],n1=0,c=0,i1,j1;
while(num>0)
{
n[n1++]=num%10;
num/=10;
}
for(int i=0;i<n1;i++)
{
i1=i;
c=0;
j1=0;
for(int j=0;j<n1;j++)
{
if(n[i1]==n[j]&&i1!=j)
{
c++;
j1++
if(c>=2)
return 1;
i1++;
}
else
{
c=0;
j=j-j1;
j1=0;
i1=i;
}
}
}
return 0;
}
超详细 超全2017校招华为上机题汇总旗舰版
分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来
函数为 void mul(char *input1,int n,char *input2, int m,char *output)
其中input1和input2是输入,n是input1的长度,n2是input2的长度。Output是输出
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
void mul(char*,int,char*,int,char*);
int main()
{
char input1[100],input2[100],output[100];
cin>>input1>>input2;
int n=strlen(input1);
int m=strlen(input2);
mul(input1,n,input2,m,output);
cout<<output<<endl;
return 0;
}
void mul(char* input1,int n,char* input2,int m,char* output)
{
int i1=0,i2=0,p1=n,p2=m,p3=0;
for(int i=0;i<n;i++)
{
i1+=(input1[i]-'0')*pow(10.0,--p1);
}
for(int i=0;i<m;i++)
{
i2+=(input2[i]-'0')*pow(10.0,--p2);
}
long long ou=i1*i2;
if(ou==0)
{
output[0]='0';
output[1]='\0';
return;
}
char temp;
while(ou>0)
{
output[p3++]=ou%10+'0';
ou/=10;
}
output[p3]='\0';
for(int i=0;i<p3/2;i++)
{
temp=output[i];
output[i]=output[p3-1-i];
超详细 超全2017校招华为上机题汇总旗舰版
}
4.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。
#include<iostream>
#include<string>
using namespace std;
int deletesub(string &str,const string &sub,int);
int main()
{
string str,sub;
getline(cin,str);
getline(cin,sub);
int n=sub.size();
int num=deletesub(str,sub,n);
cout<<num<<endl;
//cout<<str<<endl; 输出删除后的字符串
return 0;
}
int deletesub(string &str,const string &sub,int n)
{
int m,flag=0,num=0;
while(flag==0)
{
m=str.find(sub);
if(m<0)
return num;
else
{
str.erase(m,n); //删除子串
num++;
}
}
}
5.约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
#include<iostream>
using namespace std;
struct node{
int num;
node *next;
};
node *creat(int n)
{
node *q,*p,*head=NULL;
超详细 超全2017校招华为上机题汇总旗舰版
p=new node;
p->num=i;
if(head==NULL)
head=p;
else
q->next=p;
q=p;
}
p->next=head;
return p;
}
int main()
{
int n,k,m;
cin>>n>>k>>m;
node *l,*q;
l=creat(n);
q=l;
l=l->next;
for(int i=1;i<k;i++)
{
q=l;
l=l->next;
}
while(l->next!=l)
{
for(int i=1;i<m;i++)
{
q=l;
l=l->next;
}
cout<<l->num<<"->";
q->next=l->next;
delete l;
l=q->next;
}
cout<<l->num<<endl;
delete l;
return 0;
}
6.比较一个数组的元素 是否为回文数组
#include<iostream>
#include<string>
using namespace std;
int main()
超详细 超全2017校招华为上机题汇总旗舰版
getline(cin,str);
int m=str.size();
for(int i=0;i<m/2;i++)
{
if(str[i]!=str[m-1-i])
{
cout<<"NO"<<endl;
return 0;
}
}
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题