华为机试试题汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

}

相关文档
最新文档