华为认证是计算机网络专业的一个重要认证,下面本站小编为各位同学们提供最新的华为认证考试题及答案,希望对大家考试复习有所帮助!
1.输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50
#include
main()
{
intnum[50]={0};
inti,n;
printf("请输入整型数组的长度(1~50):");
scanf("%d",&n);
printf("请输入整型数组的元素:");
for(i=0;i
{
scanf("%d",&num[i]);
}
intmin_num=num[0];
intmax_num=num[0];
for(intj=0;j
{
if(max_num
max_num=num[j];
elseif(min_num>num[j])
min_num=num[j];
}
intsum=min_num+max_num;
printf("数组中最大与最小值之和:%dn",sum);
return0;
}
2.求两个长长整型的数据的和并输出,例如输入1233333333333333。。。 3111111111111111111111111.。。。,则输出。。。。
#include
#include
#include
main()
{
char*num1,*num2; //两个长长整型数据
char*sum;
// inttemp;
int len_num1,len_num2; // 两个长长整型数据的长度
intlen_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,0x00,len_max+1);//切忌初始化
for(;len_num1>0&&len_num2>0;len_num1--,len_num2--)
{
sum[len_max--]=((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[len_num2- 1]-'0';
len_num2--;
}
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)*len_max1);
j=0;
while(sum[j]==0) //跳出头部0元素
j++;
for(int m=0;m
outsum[m]=sum[j]+'0';
outsum[m]='