欢迎来到天天文库
浏览记录
ID:38686027
大小:42.50 KB
页数:8页
时间:2019-06-17
《程序员面试宝典》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1实现两个N*N矩阵的乘法,矩阵由一维数组表示:#includeusingnamespacestd;#definesize2int*multi(int*a,int*b,intN){inti,j,k,temp;int*c=(int*)malloc(N*N);for(i=0;i2、ze*size]={2,1,4,3};intb[size*size]={1,-1,3,2};multi(a,b,size);return0;}2找到单向链表中间那个元素,如果有两个则取前面一个#includeusingnamespacestd;structnode{intvalue;node*next;};intmain(){intval,sum,i;sum=0;node*head=newnode;head->next=NULL;node*curr=head;node*temp;cin>>val;while(0!=val){sum++;curr->nex3、t=newnode;curr=curr->next;curr->value=val;curr->next=NULL;cin>>val;}curr=head;for(i=0;i<(sum+1)/2;i++){curr=curr->next;}cout<<"中间的数字是:"<value<#include#includelongGetMax(intarray[],intl4、en);longGetMultiply(intarray[],intlen,inttag,intcount);intmain(){intarray[]={0,-2,-3,-4};printf("%ld",GetMax(array,4));return0;}longGetMax(intarray[],intlen){intpositive_num=0;intnegative_num=0;intzero_num=0;intpositive_min=INT_MAX;intnegative_max=INT_MIN;intnegative_min=0;intcount=1;int5、i;if(!array){printf("arraymustnotbeNULL");exit(-1);}if(len<1){printf("lenshouldbebiggerthan0");exit(-1);}for(i=0;i0){positive_num++;positive_min=(positive_min6、ve_max>array[i])?negative_max:array[i];negative_min=(negative_min1)return0;elseif(zero_num==1){if(negative_num%2==1)return0;else{returnGetMultiply(array,len,0,1);}}else{//nozeroif(negative_num%2==1){returnGetMultiply(array,len,negative_max,1);7、}else{if(positive_num>0)returnGetMultiply(array,len,positive_min,1);elsereturnGetMultiply(array,len,negative_min,1);}}}longGetMultiply(intarray[],intlen,inttag,intcount){longmultiply=1;inti;if(!array){printf("arraymustnotbeNULL");exit(-1);}if(len<1){printf("
2、ze*size]={2,1,4,3};intb[size*size]={1,-1,3,2};multi(a,b,size);return0;}2找到单向链表中间那个元素,如果有两个则取前面一个#includeusingnamespacestd;structnode{intvalue;node*next;};intmain(){intval,sum,i;sum=0;node*head=newnode;head->next=NULL;node*curr=head;node*temp;cin>>val;while(0!=val){sum++;curr->nex
3、t=newnode;curr=curr->next;curr->value=val;curr->next=NULL;cin>>val;}curr=head;for(i=0;i<(sum+1)/2;i++){curr=curr->next;}cout<<"中间的数字是:"<value<#include#includelongGetMax(intarray[],intl
4、en);longGetMultiply(intarray[],intlen,inttag,intcount);intmain(){intarray[]={0,-2,-3,-4};printf("%ld",GetMax(array,4));return0;}longGetMax(intarray[],intlen){intpositive_num=0;intnegative_num=0;intzero_num=0;intpositive_min=INT_MAX;intnegative_max=INT_MIN;intnegative_min=0;intcount=1;int
5、i;if(!array){printf("arraymustnotbeNULL");exit(-1);}if(len<1){printf("lenshouldbebiggerthan0");exit(-1);}for(i=0;i0){positive_num++;positive_min=(positive_min6、ve_max>array[i])?negative_max:array[i];negative_min=(negative_min1)return0;elseif(zero_num==1){if(negative_num%2==1)return0;else{returnGetMultiply(array,len,0,1);}}else{//nozeroif(negative_num%2==1){returnGetMultiply(array,len,negative_max,1);7、}else{if(positive_num>0)returnGetMultiply(array,len,positive_min,1);elsereturnGetMultiply(array,len,negative_min,1);}}}longGetMultiply(intarray[],intlen,inttag,intcount){longmultiply=1;inti;if(!array){printf("arraymustnotbeNULL");exit(-1);}if(len<1){printf("
6、ve_max>array[i])?negative_max:array[i];negative_min=(negative_min1)return0;elseif(zero_num==1){if(negative_num%2==1)return0;else{returnGetMultiply(array,len,0,1);}}else{//nozeroif(negative_num%2==1){returnGetMultiply(array,len,negative_max,1);
7、}else{if(positive_num>0)returnGetMultiply(array,len,positive_min,1);elsereturnGetMultiply(array,len,negative_min,1);}}}longGetMultiply(intarray[],intlen,inttag,intcount){longmultiply=1;inti;if(!array){printf("arraymustnotbeNULL");exit(-1);}if(len<1){printf("
此文档下载收益归作者所有