欢迎来到天天文库
浏览记录
ID:51799509
大小:59.16 KB
页数:38页
时间:2020-03-15
《华为C语言机试题面试题汇总.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50#includemain(){ intnum[50]={0}; inti,n; printf("请输入整型数组的长度(1~50):"); scanf("%d",&n); printf("请输入整型数组的
2、元素:"); for(i=0;i3、j]; elseif(min_num>num[j]) min_num=num[j]; } intsum=min_num+max_num; printf("数组中最大与最小值之和:%d",sum); return0;} 2.求两个长长整型的数据的和并输出,例如输入1233333333333333 。。。 3111111111111111111111111.。。。,4、则输出。。。。#include#include#includemain(){ char*num1,*num2; //两个长长整型数据 char*sum;// inttemp;intlen_num1,len_num2;// 两个长长整型数据的长度 intlen_max,len_min; num1=(char*)malloc(sizeof(char)); num2=(cha5、r*)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; 6、 len_min=(len_num1<=len_num2)?len_num1:len_num2; intlen_max1=len_max; sum=(char*)malloc(sizeof(char)*len_max); memset(sum,0x00,len_max+1);//切忌初始化 for(;len_num1>0&&len_num2>0;len_num1--,len_num2--) { sum[len_max7、--]=((num1[len_num1-1]-'0')+(num2[len_num2-1]-'0')); } if(len_num1>0) { sum[len_max--]=num1[len_num1-1]-'0'; len_num1--; } if(len_num2>0) { sum[len_max--]=num1[le8、n_num2-1]-'0'; len_num2--; } for(intj=len_max1;j>=0;j--)//实现进位操作 { // temp=sum[j]-'0'; if(sum[j]>=10) { sum[j-1]+=s
3、j]; elseif(min_num>num[j]) min_num=num[j]; } intsum=min_num+max_num; printf("数组中最大与最小值之和:%d",sum); return0;} 2.求两个长长整型的数据的和并输出,例如输入1233333333333333 。。。 3111111111111111111111111.。。。,
4、则输出。。。。#include#include#includemain(){ char*num1,*num2; //两个长长整型数据 char*sum;// inttemp;intlen_num1,len_num2;// 两个长长整型数据的长度 intlen_max,len_min; num1=(char*)malloc(sizeof(char)); num2=(cha
5、r*)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;
6、 len_min=(len_num1<=len_num2)?len_num1:len_num2; intlen_max1=len_max; sum=(char*)malloc(sizeof(char)*len_max); memset(sum,0x00,len_max+1);//切忌初始化 for(;len_num1>0&&len_num2>0;len_num1--,len_num2--) { sum[len_max
7、--]=((num1[len_num1-1]-'0')+(num2[len_num2-1]-'0')); } if(len_num1>0) { sum[len_max--]=num1[len_num1-1]-'0'; len_num1--; } if(len_num2>0) { sum[len_max--]=num1[le
8、n_num2-1]-'0'; len_num2--; } for(intj=len_max1;j>=0;j--)//实现进位操作 { // temp=sum[j]-'0'; if(sum[j]>=10) { sum[j-1]+=s
此文档下载收益归作者所有