2014华为校园招聘笔试算法题汇总

合集下载

【最新推荐】华为招聘笔试题目-精选word文档 (3页)

【最新推荐】华为招聘笔试题目-精选word文档 (3页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==华为招聘笔试题目华为是很多求职者都想要进入的,下面是小编搜集整理的华为招聘笔试题目,欢迎阅读,供大家参考和借鉴!华为系统程序招聘笔试题华为笔试题一:基础知识1、string 是最基本的数据类型吗?2、int 和 integer 有什么区别3、string 和 stringbuffer 的区别4、运行时异常与一般异常有何异同?5、说出 servlet 的生命周期,并说出 servlet 和 cgi 的区别。

华为笔试题二:专业知识6、说出 arraylist,vector, linkedlist 的存储性能和特性7、ejb 是基于哪些技术实现的?并说出 sessionbean 和 entitybean 的区别,statefulbean 和statelessbean 的区别。

8、collection 和 collections 的区别。

9、&和&&的区别。

10、hashmap 和 hashtable 的区别。

华为笔试题三:知识拓展11、final, finally, finalize 的区别。

12、sleep() 和 wait() 有什么区别?13、overload 和 override 的区别。

overloaded 的方法是否可以改变返回值的类型?14、error 和 exception 有什么区别?15、同步和异步有何异同,在什么情况下分别使用他们?举例说明。

16、abstract class 和 interface 有什么区别?华为C语言招聘笔试题目一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

( )2、int (*ptr) (),则ptr是一维数组的名字。

2014华为机试笔试题目

2014华为机试笔试题目

2014华为机试笔试题目2014华为机试笔试题目1.输入摸一个数,然后将其倒过来相加,如果和不是回文串,那么将和再采取同样的操作,在判断得到的是否为回文串,这样往返7次,如果其中有一次是回文就直接打出来,若都没有,那么输出0;也很简单!用库函数更简单,itoa这个!整数转成字符,然后判断回文!2.关于匹配的字符串的个数的最大值,即目标字符串与多个字符串比配,找出匹配最多的那个字符串。

其实代码很简单,我当时用2个数组,下标即为字符,值为出现次数,这样比较即可;可是我输入字符的代码写错了比如要输入Li si;到一个字符数组里面,我写成了char a[200];cin a;//这里错了,应该写为cin.getline(a,200);因为cin输入遇到空格就认为输入结束,所以只有li,没有si3.输入一个十进制的数,与一个n整数,求输出这个十进制数的n 进制的数!分析:哎,真倒霉,可以用atoi函数啊itoa函数#include cstdlib #include cstdio int main(){int num = 10; char str[100]; itoa(num, str, 2);printf( %s\n , str);return 0;}itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是目标字符串,第三个参数是转移数字时所用的基数。

在上例中,转换基数为10。

10:十进制;2:二进制于是想到了一个十进制转二进制的方法:#include cstdlib#include cstdioint main(){int num = 10;char str[100];int n = atoi(itoa(num, str, 2)); printf( %d\n ,n); return 0;}。

华为面试 笔试题目(附答案)

华为面试 笔试题目(附答案)

华为面试/笔试题目(附答案)陈晓明2010-05-21 15:45:59要查看更多华为笔经相关信息,请访问华为公司校园招聘club:深圳华为技术有限公司(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。

在这种情况下,可以将所有包含文件预编译为一个预编译头。

(2)char * const p char const * p const char *p 上述三个有什么区别?答案:char * const p; //常量指针,p的值不可以修改char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p(3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str 6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout (y)?(y):(x)) //结尾没有‘;’(10)嵌入式系统中经常要用到无限循环,你怎么用c编写死循环。

答案:while(1){}或者for(;;)(11)关键字static的作用是什么?答案:定义静态变量(12)关键字const有什么含意?答案:表示常量不可以修改的变量。

(13)关键字volatile有什么含意?并举出三个不同的例子?答案:提示编译器对象的值可能在编译器未监测到的情况下改变。

最全的华为校园招聘笔试题

最全的华为校园招聘笔试题

最全的华为校园招聘笔试题最全的华为校园招聘笔试题华为笔试1.局部变量能否和全局变量重名?答:能,局部会屏蔽全局。

要⽤全局变量,需要使⽤“::“ 局部变量可以与全局变量同名,在函数内引⽤这个变量时,会⽤到同名的局部变量,⽽不会⽤到全局变量。

对于有些编译器⽽⾔,在同⼀个函数内可以定义多个同名的局部变量,⽐如在两个循环体内都定义⼀个同名的局部变量,⽽那个局部变量的作⽤域就在那个循环体内。

2.如何引⽤⼀个已经定义过的全局变量?答:extern 可以⽤引⽤头⽂件的⽅式,也可以⽤extern关键字,如果⽤引⽤头⽂件⽅式来引⽤某个在头⽂件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你⽤extern⽅式引⽤时,假定你犯了同样的错误,那么在编译期间不会报错,⽽在连接期间报错。

3.全局变量可不可以定义在可被多个.C⽂件包含的头⽂件中?为什么?答:可以,在不同的C⽂件中以static形式来声明同名全局变量。

可以在不同的C⽂件中声明同名的全局变量,前提是其中只能有⼀个C⽂件中对此变量赋初值,此时连接不会出错。

4.语句for( ;1 ;)有什么问题?它是什么意思?答:⽆限循环,和while(1)相同。

5.do……while和while……do有什么区别?答:前⼀个循环⼀遍再判断,后⼀个判断以后再循环。

6.请写出下列代码的输出内容#i nclude main(){ int a,b,c,d; a=10; b=a++; c=++a; d=10*a++;printf(“b,c,d:%d,%d,%d“,b,c,d); return 0; } 答:10,12,120⼀.判断题(对的写T,错的写F并说明原因,每⼩题4分,共20分)1.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

()2.int (*ptr)(),则ptr是⼀维数组的名字。

()3.指针在任何情况下都可进⾏>, =, =MAX_SRM)return (NULL_SRM); else return SRM_no; }3. 写出程序运⾏结果 int sum(int a){ auto int c=0; static int b=3; c+=1; b+=2;return(a+b+C); } void main(){ int I; int a=2; for(I=0;Inext = NULL; p=h;for(i=0;inext = s; printf(“Please input the informationof the student: name sex no age \n“);scanf(“%s %c %d %d“,s->name, s->next = NULL; p = s; } printf(“Create successful!“); return(h); } void deletelist(struct stu *s,int a){ struct stu *p; while(s->age!=a){ p = s; s = s->next; } if(s==NULL)printf(“The record is not exist.“); else { p->next = s->next; printf(“Delete successful!“); } } void display(struct stu *s){ s = s->next; while(s!=NULL){ printf(“%s %c %d %d\n“,s->name,s->sex,s->no,s->age); s = s->next; } } int main(){ struct stu *s; int n,age; printf(“Please input the length of seqlist:\n“); scanf(“%d“, s = creatlist(n); display(s); printf(“Please input the age:\n“);scanf(“%d“, deletelist(s,age); display(s); return 0; }2.实现⼀个函数,把⼀个字符串中的字符从⼩写转为⼤写。

华为校园招聘笔试题大全

华为校园招聘笔试题大全

★笔试题大全★1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。

它是一个本地的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。

5.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。

6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。

7.什么函数不能声明为虚函数?Constructor(构造函数)函数不能声明为虚函数。

8.冒泡排序算法的时间复杂度是什么?时间复杂度是O(n^2)。

9.写出float x 与“零值”比较的if语句。

if(x>0.000001&&x<-0.000001)10.Internet采用哪种网络协议?该协议的主要层次结构?Tcp/Ip协议主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。

11.Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。

不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。

2014华为java笔试题目

2014华为java笔试题目

2014华为java笔试题目一、单项选择题是从语言改进重新设计。

++答案:B2.下列语句哪一个正确程序经编译后会产生machinecode程序经编译后会产生bytecode程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有中的constructor不可省略必须与class同名,但方法不能与class同名在一个对象被new时执行D.一个class只能定义一个constructor答案:c4.提供java存取数据库能力的包是答案:A5.下列运算符合法的是A.&&B.:=答案:A6.执行如下程序代码a=0;c=0;do{--c;a=a-1;}while;后,c的值是-1D.死循环答案:c7.下列哪一种叙述是正确的修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{}包住c.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号答案:D8.下列语句正确的是A.形式参数可被视为localvariableB.形式参数可被字段修饰符修饰c.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象答案:A9.下列哪种说法是正确的A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法c.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题程序的种类有A.类2.下列说法正确的有A.环境变量可在编译sourcecode时指定B.在编译程序时,所能指定的环境变量不包括classpath一次可同时编译数个java源文件能指定编译结果要置于哪个目录答案:BcD3.下列标识符不合法的有$答案:AcD4.下列说法错误的有A.数组是一种对象B.数组属于一种原生类=[]={31,23,33,43,35,63}D.数组的大小可以任意改变答案:BcD5.不能用来修饰interface的有答案:AcD6.下列正确的有不会改变实际参数的数值能改变实际参数的参考地址不能改变实际参数的参考地址能改变实际参数的内容答案:AcD7.下列说法错误的有A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用c.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法答案:AcD8.下列说法错误的有面向对象语言容许单独的过程与函数存在面向对象语言容许单独的方法存在语言中的方法属于类中的成员语言中的方法必定隶属于某一类,调用方法与过程或函数相同答案:ABc9.下列说法错误的有A.能被成功运行的javaclass文件必须有main方法就是javaAPI可利用jar选项运行.jar文件D.能被Appletviewer成功运行的javaclass文件必须有main 方法答案:BcD三、判断题程序中的起始类名称必须与存放该类的文件名相同。

【VIP专享】(6.10)2014年华为校招问题回答汇总

【VIP专享】(6.10)2014年华为校招问题回答汇总

华为校招问题与解答6月10日1.希望了解一些软件考试方面的信息ANS:7月上旬机试,大家等艾庆兴的技术专场,会在各高校讲。

(ps.给刚才提到的艾庆兴同学做个简介,外号“艾神”,2014华为最高特殊起薪;百度之星程序设计大赛冠军;ACM/ICPC程序设计大赛金奖、银奖;腾讯编程马拉松区域决赛第二名;2013陕西ACM/ICPC程序设计大赛参与命题;最主要做过14届所有的华为机试题,认真听他的讲座可以大大提高机试通过率)2.华为招聘员工对英语有什么要求啊?ANS:研发类4级通过即可。

3.本科生能做除了研发其他的部门吗?ANS:华为的本科生岗位非常多。

具体的岗位可登陆华为招聘官网查。

4.我想问问除了一些知识上的要求,华为对想进华为的学生有什么建议呢?ANS:学历只是参考,重视个人素质与能力5.华为今年的暑期实习还可以补录吗?ANS:华为实习生招聘已结束,不能再补录。

6.7月份的机试是提前批还是正式秋招的机试?是软件类还是硬件类?ANS:7月份是正式的秋招机试,软件类招聘第一个环节,希望有意向的同学可以安排好时间。

时间定在7月中上旬。

7.除了这次7月份的校招,开学还有没有新一轮的校招?ANS:7月份软件机试是核心,尽量协调好时间,因为很可能9月份将不再设置软件类机试。

8.华为今年的招聘是不是和往年一样也分好几个批次?ANS:不能保证有几个批次,机会先到先得,有意向的同学还望早作准备。

9.华为有内推吗?是什么呢?ANS:有的,每个学校都是有接口人的。

10.如果是分多批次的话,七月份提前批比后面的校招有什么优惠政策?ANS:机试出色的人,可以参加优先招聘,会定制部门,特殊起薪机会,还可以选择优秀的导师。

11.7月份校招的需要暑假去华为呆上一段时间吗?参加了7月批次的还能不能参加后续的招聘?ANS:不需要去华为呆上一段时间。

7月份的软件机试,是整个华为面试的一个重要环节。

重点是软件类岗位。

12.实习的时候招硬件非常少,这次呢?ANS:软硬件都是主流招聘岗位。

2014华为机考(附答案)

2014华为机考(附答案)

目录样题-初级题:从考试成绩中划出及格线 (2)样题-中级题:亮着电灯的盏数 (2)样题-高级题:地铁换乘 (3)8.29去掉最大值、最小值之后剩下的个数 (3)8.29从5个人中选取2个人作为礼仪 (5)8.29验证括号是否匹配 (6)8.31回文数 (8)8.31将第一行中含有第二行中“23”的数输出并排序 (9)8.31翻译电话号码 (11)9.1.AM 将整数倒序输出,剔除重复数据 (12)9.1.AM 大数相减 (14)9.1.AM 判断if语句括号是否合法 (15)9.1.PM (17)9.1.PM (18)9.1.PM (18)样题-初级题:从考试成绩中划出及格线10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分样题-中级题:亮着电灯的盏数一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。

每盏电灯由一个拉线开关控制。

开始,电灯全部关着。

有n个学生从长廊穿过。

第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。

n个学生按此规定走完后,长廊里电灯有几盏亮着。

注:电灯数和学生数一致。

样题-高级题:地铁换乘已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。

经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。

编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。

地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B158.29去掉最大值、最小值之后剩下的个数1、输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。

华为校园招聘笔试算法题汇总

华为校园招聘笔试算法题汇总

华为2014笔试算法题汇总1.通过键盘输入一串小写字母(a~z)组成的字符串。

请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

比如字符串“abacacde”过滤结果为“abcde”。

要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“deefd”输出:“def”输入:“afafafaf”输出:“af”输入:“pppppppp”输出:“p”main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出当前你可以使用其他方法测试,只要保证最终程序能正确执行即可,该函数实现可以任意修改,但是不要改变函数原型。

一定要保证编译运行不受影响[cpp] view plaincopy//////////////////////////////////////////////////////////////////////////#include <iostream>#include <cassert>using namespace std;bool g_flag[26];void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr) {assert(pInputStr != NULL);int i = 0;if (pInputStr == NULL || lInputLen <= 1){return;}const char *p = pInputStr;while(*p != '\0'){if (g_flag[(*p - 'a')]){p++;}else{pOutputStr[i++] = *p;g_flag[*p - 'a'] = 1;p++;}}pOutputStr[i] = '\0';}int main(){memset(g_flag,0,sizeof(g_flag));char input[] = "abacacde";char *output = new char[strlen(input) + 1];stringFilter(input,strlen(input),output);cout<<output<<endl;delete output;return 0;}2.通过键盘输入一串小写字母(a~z)组成的字符串。

华为例题

华为例题

昨天去参加了华为的校园招聘上机考试,题目一共三道,都比较简单,不要求算法效率,也不要求对所给数据的合法性作检测,主要还是注重基础知识的考察,和大家分享一下,希望对接下来的同学有所帮助。

1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n 表示评委总数。

打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。

如果没有大众评委,则总分 = 专家评委平均分,总分取整。

函数最终返回选手得分。

函数接口 int cal_score(int score[], int judge_type[], int n)2、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; i nput[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}函数接口 void sort(int input[[, int n, int output[])3、操作系统任务调度问题。

操作系统任务分为系统任务和用户任务两种。

其中,系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。

优先级大于255的为非法任务,应予以剔除。

2014年华为机考内部题库

2014年华为机考内部题库

2014年7月6日9:30 B组
第一题输出大写字母
输入一个字符串,输出其中的大写字母。

输入:2,sdARSFGfg
输出:ARSFG
第二题约瑟夫环
N个人报数,数到3就出队,输出最后一个人是几号。

输入:整数N
输出:最后一个人的号码
第三题下围棋
输入一个10*10的棋盘,0代表空,1代表黑子,2代表白子。

输入落子的坐标和棋子的颜色。

输出:具体应该就是围棋的规则,记不住了,总之就是错误输出一个大数,正确的话没有吃掉子就输出0,吃子的话输出吃掉的子的个数(具体忘了,大概就是整数代表黑子个数,负数代表白子个数)
输入:一个正确的残局(10*10)
一个落子(如4 3 1代表在坐标(4,3)上下一个黑子,测试貌似是最少下一步棋。

也可能是几步棋,最多没说,应该就是分出胜负就结束了吧)
输出: 0
或者正整数
或者负整数
或者一个大数。

华为算法岗笔试题

华为算法岗笔试题

华为算法岗笔试题已助力150+人进入国内大厂的《人工智能算法岗江湖武林秘籍》,45家大厂面经秘籍及参考答案:华为面经目录1 华为面经汇总资料2 华为面经涉及基础知识点3 华为面经涉及项目知识点4 数据结构与算法分析相关知识点5 编程高频问题:Python&C、C++方面6 操作系统高频问题:数据库&线程等7 技术&产品&开放性问题1华为面经汇总资料1、1面经汇总参考资料①参考资料:(1)牛客网:华为面经-172篇,(2)知乎面经:(3)面试圈:②面经框架&答案&目录&心得:(1)面经框架及参考答案:(2)大厂目录及整理心得:1、2面经涉及招聘岗位(1)实习岗位类【华为云EI实习岗】、【计算机视觉实习生】、【华为杭研院Cloud&AI昇腾计算产品部算法实习】(2)全职岗位类1、3面试流程时间安排PS:以上流程为大白总结归纳所得,以供参考。

其他注意点:●有些人在第一面之前,还会有机试和性格测试●有些区域是技术面+机试性格测试+三面BOSS面●有些人是先综合面,再HR面1、4华为面经面试心得汇总★华为特别重视底层原理,和其他互联网公司不一样。

★华为的面试看面试官吧!有的人会被很多技术的,有的只是聊聊人生和项目。

★总结一下三场面试,需要准备好编程相关的问题,机器学习相关的问题,自己方向最新的技术。

另外,三场面试都着重问了项目,可能我比较菜,没有发过论文。

自己对项目的细节一定要十分了解,这样就不用慌了,随便问都能答上来。

★每个区域的招聘流程稍微有点差异,不过一般分为基础面试、综合面试:基础面试基本就是聊项目经历或者实习经历,另外有些会从产品的角度出发,出一些发散性思维的题目,不怎么为难你,主要问项目经历综合面试主要谈性格、对华为的认识、为什么想加入华为;主要看重承担压力的能力,表现的性格开朗就Okay了。

★有的时候,面试很难,有的时候很简单,所以还是看人,但是最好认真准备,以不变应万变。

2014华为上机试题及答案2(DOC)

2014华为上机试题及答案2(DOC)

目录样题-初级题:从考试成绩中划出及格线 (2)样题-中级题:亮着电灯的盏数 (3)样题-高级题:地铁换乘 (5)8.29去掉最大值、最小值之后剩下的个数 (8)8.29从5个人中选取2个人作为礼仪 (10)8.29验证括号是否匹配 (12)8.31回文数 (13)8.31将第一行中含有第二行中“23”的数输出并排序 (14)8.31翻译电话号码 (16)9.1.AM 将整数倒序输出,剔除重复数据 (18)9.1.AM 大数相减 (19)9.1.AM 判断if语句括号是否合法 (22)9.1.PM (23)9.1.PM (24)9.1.PM (25)样题-初级题:从考试成绩中划出及格线10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分#include<stdio.h>void sort(int a[]){int i,j,t;for(i = 0;i < 10;i++)for(j = i+1;j<10;j++){if(a[i] > a[j]){t = a[i];a[i] = a[j];a[j] = t;}}}int main()int num[10] = {0};scanf("%d%d%d%d%d%d%d%d%d%d",&num[0],&num[1],&num[2],&num[3],&num[4],&num[5],&num[6],&num[7], &num[8],&num[9]);sort(num);if(num[0] > 60)printf("60");elseprintf("%d",(num[4]/10)*10);return 0 ;}样题-中级题:亮着电灯的盏数一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。

华为校园招聘机考试题大全.doc

华为校园招聘机考试题大全.doc

1 华为校园招聘机考试题总结(厦门大学)1#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>int delete_sub_str(const char *str,const char *sub_str,char *result) {assert(str != NULL && sub_str != NULL);const char *p,*q;char *t,*temp;p = str;q = sub_str;t = result;int n,count = 0;n = strlen(q);tmep = (char *)malloc(n+1);memset(temp,0x00,n+1);while(*p){memcpy(temp,p,n);if(strcmp(temp,q) == 0 ){count++;memset(temp;0x00,n+1);p = p + n;}else{*t = *p;p++;t++;memset(temp,0x00,n+1);}}free(temp);return count;}int main(){char s[100] = {‘\0’};int num = delete_sub_str(“123abc12de234fg1hi34j123k”,”123”,s); printf(“The number of sub_str is %d\r\n”,num);printf(“The result string is %s\r\n”,s);}2n12 3...n张圆桌周围。

从编号为k到m1m#include<stdio.h>#include<stdlib.h>typedef struct Node{int num;struct Node *next;}LinkList;LinkList *creat(int n){LinkList *p,*q,*head;int i=1;p=(LinkList *)malloc(sizeof(LinkList));p->num=i; 2head=p;for(i=2;i<=n;i++){q=(LinkList *)malloc(sizeof(LinkList));q->num=i;p->next=q;p=q;}p->next=head; /*使链表尾指向链表头形成循环链表*/ return head;}void fun(LinkList *L,int m){int i;LinkList *p,*s,*q;p=L;printf("出列顺序为:");while(p->next!=p){for(i=1;i<m;i++){ q=p;p=p->next;}printf("%5d",p->num);s=p;q->next=p->next;p=p->next;free(s);}printf("%5d\n",p->num);}int main(){LinkList *L;int n, m;n=9;m=5;L=creat(n);fun(L,m);return 0;}3、比较一个数组的元素是否为回文数组#include <stdio.h>#include <string.h>int huiwen(char str[]){int i,len,k=1;len=strlen(str);for(i=0;i<len/2;i++){if(str[i]!=str[len-i-1]){k=1;break;}}if(k==0)printf("%s 不是一个回文数\n",str);elseprintf("%s 是一个回文数\n",str); 3}void main(){char str[100] = {0};int i;int len;printf("Input a string"); /*提示输入Input a string*/ scanf("%s", str); /*scan()函*/ huiwen(str);}4、20•2只比较较短长度数组个数元素。

华为校园招聘机考试题大全

华为校园招聘机考试题大全

1 华为校园招聘机考试题总结(厦门大学)1、删除子串只假如原串中有同样的子串就删掉不论有多少个返回子串个数。

#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>int delete_sub_str(const char *str,const char *sub_str,char *result){assert(str != NULL && sub_str != NULL);const char *p,*q;char *t,*temp;p = str;q = sub_str;t = result;int n,count = 0;n = strlen(q);tmep = (char *)malloc(n+1);memset(temp,0x00,n+1);while(*p){memcpy(temp,p,n);if(strcmp(temp,q) == 0 ){count++;memset(temp;0x00,n+1);p = p + n;}else{*t = *p;p++;t++;memset(temp,0x00,n+1);}}free(temp);return count;}int main(){char s[100] = {‘\0’};int num = delete_sub_str(“123abc12de234fg1hi34j123k”,”123”,s);printf(“The number of sub_str is %d\r\n”,num);printf(“The result string is %s\r\n”,s);}2、约瑟夫环是一个数学的应用问题已知n个人以编号12 3...n分别表示围坐在一张圆桌四周。

从编号为k的人开始报数数到m的那个人出列他的下一个人又从1开始报数数到m的那个人又出列依此规律重复下去直到圆桌四周的人所有出列。

华为笔试算法题解

华为笔试算法题解

华为笔试算法题解华为笔试算法题解第1题字符串处理思路:先过滤掉数字,然后按GBK编码扫描汉字的长度,若为偶则⼦串长度length-cnt/2,若为奇则⼦串长度length-(cnt/2+1)(GBK编码汉字为2字节,数值⼩于0)import java.io.UnsupportedEncodingException;import java.util.Scanner;/**** 在GBK编码下,请编写⼀个截取字符串的函数,输⼊为⼀个字符串和字节数,输出为按字节截取的字符串。

但是要保证汉字不被截半个,* 同时忽略字符串中的数字后输出最终结果。

** 输⼊描述:** ⼀⾏字符串和待截取的字节数** 输出描述:** 单独的⼀⾏截取后的字符串** ⽰例1** 输⼊** 华HUA* 4** 输出** 华HU** 备注:** 要保证汉字不被截半个,同时忽略字符串中的数字后输出最终结果。

*/public class Str {static String splitString(String str,int length){try {byte[] bytes = str.getBytes("GBK");int cnt=0;for(byte x:bytes){if(x<0) cnt++;}if(cnt%2==0) return str.substring(0,length-cnt/2);else return str.substring(0,length-cnt/2-1);}catch (UnsupportedEncodingException e){e.printStackTrace();}return null;}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);while(scanner.hasNext()){String str=scanner.nextLine();int length=scanner.nextInt();String str1=str.replaceAll("\\d","");String ans=splitString(str1,length);System.out.println(ans);}scanner.close();}}第2题⽇期利⽤Calendar类处理,注意⽉份从0开始,星期从周⽇开始import java.util.Calendar;import java.util.Scanner;/**** 13号⼜恰好是星期五真的很特殊吗?也就是说,13号出现在星期五的⼏率⽐出现在其它周⽇的⼏率⼤吗?要回答这个问题,** 写⼀个程序计算13⽇出现在某个星期的次数(在给定的N年时间中)。

2014年华为校园招聘java考题试卷及答案

2014年华为校园招聘java考题试卷及答案

2014年华为校园招聘java考题试卷及答案一单项选择题1.Java是从( )语言改进重新设计。

A.AdaB.C++C.PasacalD.BASIC答案:B2.下列语句哪一个正确( )A. Java程序经编译后会产生machine codeB. Java程序经编译后会产生byte codeC. Java程序经编译后会产生DLLD. 以上都不正确答案:B3.下列说法正确的有( )A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行D. 一个class只能定义一个constructor答案:C4.提供Java存取数据库能力的包是( )A.java.sqlB.java.awtngD.java.swing答案:A5.下列运算符合法的是( )A.&&B.<>C.ifD.:=答案:A6.执行如下程序代码a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是( )A.0B.1C.-1D.死循环答案:C7.下列哪一种叙述是正确的( )A. abstract修饰符可修饰字段、方法和类B. 抽象方法的body部分必须用一对大括号{ }包住C. 声明抽象方法,大括号可有可无D. 声明抽象方法不可写出大括号答案:D8.下列语句正确的是( )A. 形式参数可被视为local variableB. 形式参数可被字段修饰符修饰C. 形式参数为方法被调用时,真正被传递的参数D. 形式参数不可以是对象答案:A9.下列哪种说法是正确的( )A. 实例方法可直接调用超类的实例方法B. 实例方法可直接调用超类的类方法C. 实例方法可直接调用其他类的实例方法D. 实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有( )A.类(Class)B.AppletC.ApplicationD.Servlet2.下列说法正确的有( )A. 环境变量可在编译source code时指定B. 在编译程序时,所能指定的环境变量不包括class pathC. javac一次可同时编译数个Java源文件D. javac.exe能指定编译结果要置于哪个目录(directory) 答案:BCD3.下列标识符不合法的有( )A.newB.$UsdollarsC.1234D.car.taxi答案:ACD4.下列说法错误的有( )A. 数组是一种对象B. 数组属于一种原生类C. int number=[]={31,23,33,43,35,63}D. 数组的大小可以任意改变答案:BCD5.不能用来修饰interface的有( )A.privateB.publicC.protectedD.static答案:ACD6.下列正确的有( )A. call by value不会改变实际参数的数值B. call by reference能改变实际参数的参照地址C. call by reference不能改变实际参数的参照地址D. call by reference能改变实际参数的内容答案:ACD7.下列说法错误的有( )A. 在类方法中可用this来调用本类的类方法B. 在类方法中调用本类的类方法时可直接调用C. 在类方法中只能调用本类中的类方法D. 在类方法中绝对不能调用实例方法答案:ACD8.下列说法错误的有( )A. Java面向对象语言容许单独的过程与函数存在B. Java面向对象语言容许单独的方法存在C. Java语言中的方法属于类中的成员(member)D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9.下列说法错误的有( )A. 能被java.exe成功运行的java class文件必须有main()方法B. J2SDK就是Java APIC. Appletviewer.exe可利用jar选项运行.jar文件D. 能被Appletviewer成功运行的java class文件必须有main()方法三、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。

华为笔试题(答案)

华为笔试题(答案)

笔试题选择题1、以下程序的输出结果是:#include <stdio.h>int main(){int n =4;while (n--){printf("%d ", --n); }printf("\r\n");return0;}答案:2 02、设有以下宏定义:#define N 4#define Y(n) ((N+1)*n)则执行语句:Y(5+1)为:答案:263、enum ENUM_A{x1,y1,z1 =5,a1,b1};enum ENUM_A enumA = y1; enum ENUM_A enumB = b1;请问enumA和enumB的值是多少?答案:1,74、若有函数max(a,b),并且函数指针变量p已经指向函数,当调用该函数时正确的调用方法是:答案:(*p)(a,b)或者p(a,b)5、对栈S进行下列操作:push(1), push(5), pop(), push(2), pop(), pop(), 则此时栈顶元素是:答案:没有元素,栈空。

6、在一个32位的操作系统中,设void *p = malloc(100),请问sizeof(p)的结果是:答案:32位操作系统的寻址大小是32位,即4字节。

7、若已定义: int a[9], *p = a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是:A)p+1 B)a+1 C) a++ D) ++p答案:C8、设有如下定义:unsigned long plArray[] = {6,7,8,9,10};unsigned long *pulPtr;则下列程序段的输出结果是什么?pulPtr = pulArray;*(pulPtr + 2) += 2;printf("%d, %d\r\n", *pulPtr, *(pulPtr + 2));A) 8, 10 B) 6, 8 C) 7, 9 D) 6, 10答案:D9、以下程序运行后,输出结果是什么?void main(){char *szStr = "abcde";szStr += 2;printf("%1u\r\n", szStr);return;}A) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错答案:C10、给出以下定义:char X[] = "hello";char Y[] = {'h', 'e', 'l', 'l', 'o'};则正确的叙述为:A)数组X和数组Y等价B) 数组X和数组Y的长度相同C) 数组X的长度大于数组Y的长度D) 数组X的长度小于数组Y的长度答案:C11、在32位X86下,有下列程序#include <stdio.h>void main(){union{int k;char i[2];} *s, a;s = &a;s->i[0] = 0x39;s->i[1] = 0x38;printf("%x\r\n", a.k);}输出结果是:A) 3839 B) 3938 C) 380039 D) 不可预知答案:A12、有如下函数定义:unsigned long MyFunc(unsigned long ulKey){return (((ulKey & 0x000000ff UL) << 24) |((ulKey & 0x0000ff00UL) << 8) |((ulKey & 0x00ff0000UL) >> 8) |((ulKey & 0xff000000UL) >> 24));}则MyFunc(0x12345678)的返回值是:A) 0x12345678 B) 0x87654321 C) 0x78563412 D) 0x12563478答案:C13、((a>b)?a:b)代表什么含义:A) 代表a,b之中较小的那个值B) 代表a,b之中较大的那个值C) 代表a是否比b大D) 语法错误答案:B14、某系统总线的一个总线周期包含3个时钟周期,每个总线周期可以传送32位数据。

华为校园招聘笔试题大全

华为校园招聘笔试题大全

★笔试题大全★1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。

它是一个本地的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。

5.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。

6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。

7.什么函数不能声明为虚函数?Constructor(构造函数)函数不能声明为虚函数。

8.冒泡排序算法的时间复杂度是什么?时间复杂度是O(n^2)。

9.写出float x 与“零值”比较的if语句。

if(x>0.000001&&x<-0.000001)10.Internet采用哪种网络协议?该协议的主要层次结构?Tcp/Ip协议主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。

11.Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。

不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。

华为上机考试题02

华为上机考试题02

2014届华为校园招聘机试题1、输入一串数,以‘,’分隔,输出所有数中去掉最大值、最小值之后剩下的个数。

(其中最大值与最小值可能有多个)(华为机试-001)Smple input:3,3,5,3,6,9,7,9 Sample outPut: 32、要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。

(华为机试-002) Smple input:161 189 167 172 188 Sample outPut: 188 1893. 输入一行数字:123 423 5645 875 186523在输入第二行:23将第一行中含有第二行中”23″的数输出并排序结果即:123 423 186523(华为机试-003)5. 输入一个整数,如12336544,或1750,然后从最后一位开始倒过来输出,最后如果是0,则不输出,输出的数字是不带重复数字的,所以上面的输出是456321和571。

如果是负数,比如输入-175,输出-571。

(华为机试-005)6. 输入两行字符串正整数,第一行是被减数,第二行是减数,输出第一行减去第二行的结果。

(华为机试-006)备注:1、两个整数都是正整数,被减数大于减数示例:输入:10000000000000011输出:1000000000000000注意大数用char a[] 存储,用%s接收,一位一位的运算。

注意a[0]里的正负号。

8. 输入m个字符串和一个整数n, 把字符串M化成以N为单位的段,不足的位数用0补齐。

(华为机试-008)如n=8 m=9 ,123456789划分为:1234567890000000123化为:12300000华为机试——素数判断、比平均数大的个数、回文数判断1/*2(1)判断一个数是素数及查找begin和end之间的素数。

3*/45//判断一个数是素数6#include <iostream>7#include <cmath>8using namespace std;910/*void isPrime(int num)11{12if(num < 2)13{14cout << num << "is not a prime." << endl;15return;16}17int temp = (int)sqrt(num);18for(int i = 2;i <= temp;i++)19{20if(num%i == 0)21{22cout << num << "is not a prime." << endl;23return;24}25}26if(i > temp)27cout << num << "is a prime." << endl;28}*/2930//查找begin和end之间的素数.31void numberofPrime(int begin,int end)32{33int num;34if((begin == 1) || (begin == 2))35 num = 2;36else if(begin % 2 == 0)37 num = begin + 1;38else39 num = begin;40for(;num <= end;num++)41 {42if(num < 2)43 {44 cout << num << "is not a prime." << endl;45break;46 }47int temp = (int)sqrt(num);48for(int i = 2;i <= temp;i++)49 {50if(num%i == 0)51 {52 cout << num << "is not a prime." << endl; 53break;54 }55 }56if(i > temp)57 cout << num << "is a prime." << endl;58 }59}6061int main()62{63int begin,end;64while(cin >> begin >> end)65 numberofPrime(begin,end);66return 0;67}[cpp view plaincopyprint?68/*69b找出一个数组中大于等于元素平均值的元素个数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华为2014笔试算法题汇总1.通过键盘输入一串小写字母(a~z)组成的字符串。

请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

比如字符串“abacacde”过滤结果为“abcde”。

要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“deefd”输出:“def”输入:“afafafaf”输出:“af”输入:“pppppppp”输出:“p”main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出当前你可以使用其他方法测试,只要保证最终程序能正确执行即可,该函数实现可以任意修改,但是不要改变函数原型。

一定要保证编译运行不受影响[cpp] view plaincopy//////////////////////////////////////////////////////////////////////////#include <iostream>#include <cassert>using namespace std;bool g_flag[26];void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr) {assert(pInputStr != NULL);int i = 0;if (pInputStr == NULL || lInputLen <= 1){return;}const char *p = pInputStr;while(*p != '\0'){if (g_flag[(*p - 'a')]){p++;}else{pOutputStr[i++] = *p;g_flag[*p - 'a'] = 1;p++;}}pOutputStr[i] = '\0';}int main(){memset(g_flag,0,sizeof(g_flag));char input[] = "abacacde";char *output = new char[strlen(input) + 1];stringFilter(input,strlen(input),output);cout<<output<<endl;delete output;return 0;}2.通过键盘输入一串小写字母(a~z)组成的字符串。

请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

压缩规则:1、仅压缩连续重复出现的字符。

比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。

2、压缩字段的格式为"字符重复的次数+字符"。

例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。

要求实现函数:void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“cccddecc”输出:“3c2de2c”输入:“adef”输出:“adef”输入:“pppppppp”输出:“8p”[cpp] view plaincopy//////////////////////////////////////////////////////////////////////////#include <iostream>#include <cassert>using namespace std;void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr){const char *p = pInputStr;int num = 1;int i = 0;p++;while(*p != NULL){while(*p == *(p-1)&& *p != NULL){p++;}if (num > 1){int size = 0;int temp = num;while(num) //计算位数{size++;num /= 10;}num = 1;for (int j = size; j > 0; j--){pOutputStr[i+j-1] = '0'+ temp%10; temp /= 10;}i +=size;pOutputStr[i++] = *(p-1);p++;}else{pOutputStr[i++] = *(p-1);}}pOutputStr[i] = '\0';}int main(){char input[] = "cccddecc";char *output = new char[strlen(input) + 1];stringZip(input,strlen(input),output);cout<<output<<endl;return 0;}3.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。

输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。

补充说明:1、操作数为正整数,不需要考虑计算结果溢出的情况。

2、若输入算式格式错误,输出结果为“0”。

要求实现函数:void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“4 + 7”输出:“11”输入:“4 - 7”输出:“-3”输入:“9 ++ 7”输出:“0”注:格式错误[cpp] view plaincopy//////////////////////////////////////////////////////////////////////////#include <iostream>using namespace std;void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr){const char *input = pInputStr;char *output = pOutputStr;int sum = 0;int operator1 = 0;int operator2 = 0;char *temp = new char[5];char *ope = temp;while(*input != ' ') //获得操作数1 {sum = sum*10 + (*input++ - '0'); }input++;operator1 = sum;sum = 0;while(*input != ' '){*temp++ = *input++;}input++;*temp = '\0';if (strlen(ope) > 1 ){*output++ = '0';*output = '\0';return;}while(*input != '\0') //获得操作数2{sum = sum*10 + (*input++ - '0');}operator2 = sum;sum = 0;switch (*ope){case '+':itoa(operator1+operator2,pOutputStr,10); break;case '-':itoa(operator1-operator2,pOutputStr,10); break;default:*output++ = '0';*output = '\0';return;}}int main(){char input[] = "4 - 7";char output[] = " ";arithmetic(input,strlen(input),output);cout<<output<<endl;return 0;}4.输入1--50个数字,求出最小数和最大数的和[cpp] view plaincopy//华为2014年机试题1:输入1--50个数字,求出最小数和最大数的和//输入以逗号隔开#include<stdio.h>#define N 50void sort(int a[],int n);int main(void){char str[100];int a[N]={0};gets(str); //要点1:动态的输入1--50个整数,不能确定个数,只能用字符串输入,然后分离出来int i=0;int j=0;int sign=1;while(str[i]!='\0'){if(str[i]!=',') //输入时要在半角输入{if(str[i] == '-') //要点:2:有负整数的输入{// i++; //易错点1sign=-1;}else if(str[i]!='\0') //不用else的话,负号也会减去‘0’ {a[j]=a[j]*10 + str[i]-'0'; //要点3:输入的可以是多位数}}i++;if(str[i]==',' || str[i]=='\0') //这个判断是在i自加以后{a[j]=a[j]*sign; //易错点2sign=1; ////易错点3j++; //j就是a数组的个数范围0到j-1}}sort(a,j);printf("Max number + Min number = %d",a[0]+a[j-1]);return 0;}void sort(int a[],int n) //选择排序{int i,j;int k;int temp;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++){if(a[k]>a[j])k=j;}if(i!=k){temp = a[k];a[k] = a[i];a[i] = temp;}}for(i=0;i<n;i++)printf("%-5d",a[i]); puts("");}。

相关文档
最新文档