华为机试试题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 •第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50
#i nclude
mai n()
{
intn um[50]={0};
in ti, n;
printf("请输入整型数组的长度(1~50):");
scan f("%d",&n);
printf("请输入整型数组的元素:");
for(i=0;i { sca nf("%d",&n um[i]); } intmin_num=num [0]; in tmax_ num=nu m[0]; for(i ntj=0;j< n;j++) { if(max_ numvnu m[j]) max_num=nu m[j]; elseif(min_ num>nu m[j]) min_num=nu m[j]; } in tsum=min_nu m+max_ num; printf("数组中最大与最小值之和:%d\n",sum); return。; } 2. 求两个长长整型的数据的和并输出,例如输入123333333333333 3.OO 3111111111111111111111111。。O,则输出。OOO #i nclude #i ncludevstri ng.h> #i nclude mai n() { char* nu ml,* num2; //两个长长整型数据 char*sum; // in ttemp; int Ien_num1,len_num2; //两个长长整型数据的长度 in tle n_ max,le n_min; nu m1=(char*)malloc(sizeof(char)); nu m2=(char*)malloc(sizeof(char)); printf("输入两个长长整型数据:"); scan f("%s", nu m1); printf("输入两个长长整型数据:"); scan f("%s", nu m2); len_nu m仁strle n(nu m1); len_nu m2=strle n(nu m2); len_ max=(le n_nu m1>=le n_nu m2)?le n_nu m1:le n_nu m2; len_ mi n=(le n_nu m1<=le n_nu m2)?le n_nu m1:le n_nu m2; int len _max1=le n_max; sum=(char*)malloc(sizeof(char)*le n_max); memset(sum,OxOO,len_max+1);〃切忌初始化 for(;le n_nu m1> 0&&le n_nu m2>0;le n_nu m1--,le n_nu m2--) { sum[len_max--]=(( nu m1[len_num1-1]-'0')+( nu m2[len_num2-1]-'0')); } if(len_num1>0) { sum[le n_max--]=nu m1[le n_nu m1- 1 ]-'0'; len_nu m1--; } if(len_num2>0) { sum[le n_max--]=nu m1[le n_nu m2- 1]-'0'; len_nu m2--; } for(intj=len_max1;j>=0;j--) // 实现进位操作 { // temp=sum[j]-'0'; if(sum[j]>=10) { sum[j-1]+=sum[j]/10; sum[j]%=10; } } char*outsum=(char*)malloc(sizeof(char)*le n_ maxi); j=0; while(sum[j]==0) // 跳出头部0 元素 j++; for(i nt m=0;m outsum[m]=sum[j]+'0'; outsum[m]='\0'; printf("输出两长长整型数据之和:%s\n",outsum); return。; } #i nclude #i nclude #i nclude void stri ngFilter(c onst char *p_str, l on gle n, char *p_outstr) { in tarray[256]={0}; const char *tmp = p_str; for(i nt j=O;j { if(array[tmp[j]]==O) *p_outst r++=tmp[j]; array[tmp[j]]++; } *p_outstr= '\0'; } void mai n() { char *str = "cccddecc"; in tle n = strle n(str); char* outstr = (char *)malloc(le n*sizeof(char)); stri ngFilter(str,le n, outstr); prin tf("%s\n",outstr); free(outstr); outstr= NULL; }