找出一个整数数组中的第二大数
发布时间:2021-05-28 02:11:31 所属栏目:大数据 来源:网络整理
导读:可能以故事形式:如从第一层到第十层电梯每层停一次,如何找到第二个大的钻石 ?1?#includestdio.h??2?#includeassert.h??3?#define?MINNUMBER?-32768??4?int?find_sec_max(int?arr[],int?size)??5?{??6?????assert(arr);??7?????int?maxnumber=arr[0];??8???
可能以故事形式:如从第一层到第十层电梯每层停一次,如何找到第二个大的钻石 ?1?#include<stdio.h> ??2?#include<assert.h> ??3?#define?MINNUMBER?-32768 ??4?int?find_sec_max(int?arr[],int?size) ??5?{ ??6?????assert(arr); ??7?????int?maxnumber=arr[0]; ??8?????int?sec_max=MINNUMBER; ??9?????int?i=0; ?10?????for(i=1;i<size;++i) ?11?????{ ?12?????????if(arr[i]>maxnumber) ?13?????????{ ?14?????????????sec_max=maxnumber; ?15?????????????maxnumber=arr[i]; ?16?????????} ?17?????????else ?18?????????{ ?19?????????????if(arr[i]>sec_max) ?20?????????????????sec_max=arr[i]; ?21?????????} ?22?????} ?23?????return?sec_max; ?24?} ?25?int?main() ?26?{ ?27?????int?arr[10]={3,2,4,5,6,7,8,9,10}; ?28?????printf("In?arr,the?second?max:?%dn",find_sec_max(arr,10)); ?29?????return?0; ?30?} 判断单链表是否带环? ?1?#include<stdio.h> ??2?struct?LinkNode ??3?{ ??4?????char?val; ??5?????LinkNode*?next; ??6?};?? ??7?bool?check(const?LinkNode*?head) ??8?{ ??9?????if(head==NULL) ?10?????????return?false; ?11?????LinkNode*?low=head,*fast=head->next; ?12?????while(fast&&fast->next) ?13?????{??? ?14?????????low=low->next; ?15?????????fast=fast->next->next; ?16?????????if(low==fast) ?17?????????????return?true; ?18?????}??????? ?19?????return?false; ?20?} 找出两个数中最大的一个:有两个int变量A和B,请不要使用if,?:和switch或其他判断语句,找出两个数中最大的一个。 方案一: int?max=((a+b)+abs(a-b))/2; 方案二: int?c=a-b; c=unsigned(c)>>(sizeof(int)*8-1); 写一个函数返回1+2+3+....+n的值(假定结果不会超过长整型变量的范围) int?sum(int?n) { ????return?((long)1+n)*n/2; } (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |