25例华为校园招聘编程试题及参考代码.docVIP

  • 6
  • 0
  • 约3.51万字
  • 约 86页
  • 2021-09-14 发布于北京
  • 举报

25例华为校园招聘编程试题及参考代码.doc

PAGE / NUMPAGES 25例华为校园招聘编程试题及参考代码 1.输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50 参考代码: #includestdio.h main() { ????int num[50]={0}; ????int i,n; ? ????printf(“请输入整型数组的长度(1~50):”); ????scanf(“%d”,n); ? ????????printf(“请输入整型数组的元素:”); ????for (i=0;in;i++) ????{ ????????scanf(“%d”,num[i]);???? ????} ? ????int min_num=num[0]; ????int max_num=num[0]; ????for(int j=0;jn;j++) ????{ ????????if(max_numnum[j]) ????????????max_num=num[j]; ????????else if(min_numnum[j]) ????????????min_num=num[j]; ????} ????int sum=min_num+max_num; ????printf(“数组中最大与最小值之和:%d\n”,sum); ????return 0; } ? 2.求两个长长整型的数据的和并输出,例如输入1233333333333333 。。。 3111111111111111111111111.。。。,则输出。。。。 ? #includestdio.h #includestring.h #includemalloc.h main() { ????char *num1,*num2; //两个长长整型数据 ????char *sum; //????int temp; int len_num1,len_num2; // 两个长长整型数据的长度 ????int len_max,len_min; ????num1=(char*)malloc(sizeof(char)); ????num2=(char*)malloc(sizeof(char)); ????printf(“输入两个长长整型数据:”); ????scanf(“%s”,num1); ????printf(“输入两个长长整型数据:”); ????scanf(“%s”,num2); ????len_num1=strlen(num1); ????len_num2=strlen(num2); ????len_max=(len_num1=len_num2)? len_num1:len_num2; ????len_min=(len_num1=len_num2)? len_num1:len_num2; ????int len_max1=len_max; ????sum=(char*)malloc(sizeof(char)*len_max); ????memset(sum,0×00,len_max+1);//切忌初始化 ????for(;len_num10len_num20;len_num1–,len_num2–) ????{ ????sum[len_max--]=((num1[len_num1-1]-’0′)+(num2[len_num2-1]-’0′)); ????} ????if(len_num10) ????{ ????????sum[len_max--]=num1[len_num1 - 1 ]-’0′; ????????len_num1–; ????} ????if(len_num20) ????{ ????????sum[len_max--]=num1[len_num2 - 1]-’0′; ????????len_num2–; ????} ????for(int j=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)*len_max1); ????j=0; ????while(sum[j]==0) //跳出头部0元素 ????????j++; ????for(int m=0;mlen_max1;j++,m++) ????????outsum[m]=sum[j]+’

文档评论(0)

1亿VIP精品文档

相关文档