2017 校招华为上机题

1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母, a 换成b,z 换成a,Z 换成A,
如aBf 转换成bCg,字符串内的其他字符不改变,给定函数,编写函数
void Stringchang(const char*inpu,char*output)
其中input 是输入字符串, output 是输出字符串

 1 #include<iostream>
 2 #include<cctype>
 3 #include<cstring>
 4 using namespace std;
 5 void stringchang(const char*, char*);
 6 int main()
 7 {
 8     char input[100],output[100];                      //不用再使用for循环来输入字符串数组了
 9     getline(cin,input);                          //可以直接使用getline()的方法既可以直接输入字符串数组,也可以直接输入string类对象
10     stringchang(input,output);
11     cout<<output<<endl;
12     return 0;
13 }
14 void stringchang(const char* input, char* output)
15 {
16     int m=strlen(input),n=0;
17     for(int i=0;i<m;i++)
18     {
19         if (isalpha(input[i]))
20         {
21             if (input[i]== 'z')
22             output[n++]= 'a';
23             else if (input[i]== 'Z')
24             output[n++]= 'A';
25             else
26             output[n++]=input[i]+1;
27         }
28     else
29     output[n++]=input[i];
30    }
31   output[n]= '\0';
32 }                                                                    

2. 比较一个数组的元素是否为回文数组

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6   string str;
 7   getline(cin,str);                //使用getline的方法直接将string类对象直接输入,不用再考虑1个1个输入了
 8   int m=str.size();
 9   for(int i=0;i<m/2;i++)
10   {
11     if (str[i]!=str[m-1-i])
12     {
13       cout<<"NO" <<endl;
14       return 0;
15     }
16   }
17   cout<<"YES" <<endl;
18   return 0;
19 }

 3.判断回文数,是返回1,不是返回0。

 

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6   int num;
 7   cin>>num;
 8   string str;
 9   while (num>0)
10   {
11     str.push_back(num%10+'0');
12     num/=10;
13   }
14   int m=str.size();
15   for(int i=0;i<m/2;i++)
16   {
17     if (str[i]!=str[m-1-i])
18     {
19       cout<< "0" <<endl;
20       return 0;
21     }
22   }
23   cout<<"1" <<endl;
24   return 0;
25 }

 

 

 

4.通过键盘输入一串小写字母(a~z) 组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的

字符,将非首次出现的字符过滤掉。
比如字符串“ abacacde”过滤结果为“ abcde”。
示例
输入:“ deefd” 输出:“ def ”
输入:“ afafafaf ” 输出:“ af ”
输入:“ pppppppp” 输出:“ p”

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6   string in_str,out_str;
 7   cin>>in_str;
 8   for(int i=0;i<n;i++)  
 9    {  
10       int count=0;  
11       for(int j=0;j<i;j++)  
12       {  
13         if(in_str[i] ==in_str[j])  
14          {  
15            count++;  
16          }  
17                   
18       }  
    }
19 if(count==0) 20 { 21 out_str.push_back(in_str[i]); 22 } 23 cout<<out_str<<endl; 24 return 0; 25 }

 5.利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。

比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。

给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。

测试样例 "aabcccccaaa"
      返回:"a2b1c5a3"
   "welcometonowcoderrrrr"
     返回:"welcometonowcoderrrrr"
 1 class Zipper {   
 2 public:   
 3     string zipString(string iniString) 
 4     {       
 6       string res;       
 7       for(int i = 0; i < iniString.length() - 1; i++)       
 8       {       
 9          int count = 1;   
10          while(iniString[i] == iniString[i+1])                            //和上一题类似,其实也可以用两个for循环,但就需要定义两个i,j变量,
11          {
12              ++count;                               //其实while=for+if,这样就可以只用1个变量。
13              ++i;                                                        //所以典型的结构:for+for+if=for+while
14          }
15           res.push_back(iniString[i]);  
16           res+=to_string(count);      
17       }       
18       return iniString.size() >= res.size() ? res :iniString;       
19     }   
20 };

 

 6.数组中数字都两两相同,只有一个不同,找出该数字:

 1 #include<iostream>
 2 using namespace std;
 3 int main()           //用异或,相同的话为0,0异或一个数等于他本身
 4 {
 5   int num[100],n=-1;
 6   while (cin>>num[++n]);
{
7     int temp=num[0]; 8     for(int i=1;i<n;i++) 9     temp=temp^num[i];    
    }
10  
cout<<temp<<endl;
11   return 0;
12 }

 

 7.数组中数字两两相同,有两个不同,找出这两个

 

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5   int num[100],n=-1,a[2],flag=0,m=0;
 6   while(cin>>num[++n]);
 7   for(int i=0;i<n;i++)
 8   {
 9     flag=0;
10     for(int j=0;j<n;j++)
11     {
12       if (i!=j&&num[i]==num[j])
13       flag=1;
14     }
15   if (flag==0)
16   a[m++]=num[i];
17   if (m==2)
18   break;
19 }
20   cout<<a[0]<< " " <<a[1]<<endl;
21   return 0;
22 }

 

转载于:https://www.cnblogs.com/hellochennan/p/6607568.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSON –拯救杰克逊

有时您必须使用JavaScript从服务器中获取一些数据&#xff0c; JSON是完成此任务的不错选择。 让我们玩一下JPA揭秘&#xff08;第1集&#xff09;-OneToMany和ManyToOne映射中的“雇主-雇员-福利”示例。 我们将在基于Spring Framework的Web应用程序中使用它。 我们的第一个…

maven 使用记录之修改 maven默认jdk版本

maven package执行的时候会遇到jdk版本不对的问题 &#xff1a;原因是 maven所指定的jdk版本与项目使用的jdk版本不一致1.项目属性的 java compiler可以设置2.直接修改 maven 的 settings.xml 一劳永逸settiings.xml <profiles>标签内加入<profile> <id>j…

java默认值_Java中八种基本数据类型的默认值

通过一段代码来测试一下 8种基本数据类型的默认值package dierge;public class Ceshi {int a;double b;boolean c;char d;float f;byte e;long h;short j;public static void main(String args[]){Ceshi anew Ceshi();System.out.println("整型的默认值是&#xff1a;&quo…

HDU - 1024 Max Sum Plus Plus 最大m段子段和+滚动数组优化

给定n个数字&#xff0c;求其中m段的最大值&#xff08;段与段之间不用连续&#xff0c;但是一段中要连续&#xff09; 例如&#xff1a;2 5 1 -2 2 3 -1五个数字中选2个&#xff0c;选择1和2 3这两段。 dp[i][j]从前j个数字中选择i段&#xff0c;然后根据第j个数字是否独立成一…

JavaFX教程–基础

JavaFX似乎正在RIA领域获得发展。 有了正确的工具和开发支持&#xff0c;它肯定会在下一个最佳技术“物”上付出巨大的代价。 我没有在这里写任何JavaFX评论&#xff0c;因为有很多技术评论可能对它进行了广泛的评论&#xff0c;但是&#xff0c;我将编写一个简单的教程&#x…

java script this_JavaScript this 关键字

JavaScript this 关键字面向对象语言中 this 表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的&#xff0c;它会随着执行环境的改变而改变。在方法中&#xff0c;this 表示该方法所属的对象。如果单独使用&#xff0c;this 表示全局对象。在函数中&#xff0c;…

trim函数的作用 $.trim(str)

去掉字符序列左边和右边的空格转载于:https://www.cnblogs.com/dandeliongogo/p/6610890.html

php数据库备份脚本

// 备份数据库 $host "localhost"; $user "root"; //数据库账号 $password ""; //数据库密码 $dbname "mysql"; //数据库名称 // 这里的账号、密码、名称都是从页面传过来的 if (!mysql_connect($host, $user, $password)) // 连接…

java swing 案例详解_《Java Swing图形界面开发与案例详解》PDF_IT教程网

资源名称&#xff1a;《Java Swing图形界面开发与案例详解》PDF内容简介&#xff1a;《Java Swing图形界面开发与案例详解》全书共20章&#xff0c;其中第1&#xff5e;2章主要介绍有关Swing的基础知识&#xff0c;包括Swing的基本概述、如何使用IDE开发Swing程序&#xff1b;第…

水晶球错觉

我注意到人们有时会避免进行彻底的测试。 对于某些人来说&#xff0c;这听起来像是伪造的&#xff0c;但是请听我说……我确实理解为什么会这样。 测试会产生被困的感觉&#xff0c;每引入一个新的测试&#xff0c;负担就会加重。 建立稳定&#xff0c;无干扰且质量保证的测试套…

Python—day3

1、字符串在C里边就是字符数组 Python里边一切事物都是对象&#xff0c;对象则是类创建的 2、set集合 set是一个无序且不能重复的元素集合 #!/usr/bin/env python# encoding: utf-8#set对象不能有重复s1 set()s1.add(alex)print(s1)s1.add(alex)print(s1)s1.add(shidong)print…

iOS - The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

当引入第三方的框架的时候 容易产生以下问题&#xff1a; The file “XXX.app” couldn’t be opened because you don’t have permission to view it. 如图&#xff1a; 造成的原因&#xff1a; info文件中的字段Executable file 与 build settings栏中的Packaging中的Produc…

Google Guava v07范例

我们在TouK举办了一个名为“每周技术研讨会”的活动&#xff0c;即每个星期五的16:00&#xff0c;每个愿意参加的人都有一个演讲。 我们展示了我们在家学习和学习的东西&#xff0c;但是我们也设有一个公告板&#xff0c;上面有人们想听的话题。 上周MaciejPrchniak谈论了Cloju…

推荐一些经过实践检验的学习方法

作者做了多年的Java培训教师&#xff0c;也接触过不少初学者&#xff0c;根据多年的教学互动经验&#xff0c;总结了一些能少走弯路的学习方法&#xff0c;供大家参考。 第一&#xff0c;是要多学多练&#xff0c;这似乎是废话&#xff0c;但真正能非常上心学习的人还真是少数&…

使JFrame透明

首先创建一个带有滑块的框架&#xff0c;该滑块将用于设置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaultCloseOper…

第一次作业之成员介绍

Lab205的新鲜血液 很理所当然的&#xff0c;实验室的4枚“小鲜肉”在现代软工的课程上组成了一个team&#xff0c;作为一个负责的team长&#xff0c;我当然要放上组员们的自述啦&#xff01;&#xff08;为什么不是他述&#xff0c;╭(╯^╰)╮&#xff0c;谁让我是个傲娇的组长…

java自定义分页标签_自定义分页标签--仿javaeye分页效果

效果如图&#xff1a;1、JSP规范1.1版本后增加了自定义标签库。实现自定义标签的步骤(1)开发自定义标签处理类。(2)建立*.tld文件。(3)在web.xml中增加自定义标签的定义。(4)在jsp中使用自定义标签。2、自定义标签类(1)继承javax.servlet.jsp.tagext.TagSupport(2)标签类属性&a…

Java隐藏代码

不久前&#xff0c;我遇到了字符串中不可见字符的问题。 因为它们是不可见的&#xff0c;所以它们确实会引起混乱。 String a "Hello\u200e";String b "Hello\u200f";System.out.println(\ a " and " b " are length " a.length…

201521123052《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 1.2 可选&#xff1a;使用常规方法总结其他上课内容。 学习了更多markdown的知识 参考资料: 百度脑图 XMind 2. 书面作业 作业参考文件下载 1.代码阅读&#xff1a;Child压缩包内源代码package parent;publi…

Deepin安装Curl的方法

Deepin安装Curl的方法 以Deepin为例&#xff0c;只需一条命令即可&#xff1a; sudo apt-get install curl libcurl3 libcurl3-dev php5-curlposted on 2017-09-15 23:22 MissA-VeryGood 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/MissA-VerGood/p/752911…