1.输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50
参考代码:
#include
main()
{
int num[50]={0};
int i,n;
printf(“请输入整型数组的长度(1~50):”);
scanf(“%d”,&n);
printf(“请输入整型数组的元素:”);
for (i=0;i
{
scanf(“%d”,&num[i]);
}
int min_num=num[0];
int max_num=num[0];
for(int j=0;j
{
if(max_num
max_num=num[j];
else if(min_num>num[j])
min_num=num[j];
}
int sum=min_num+max_num;
printf(“数组中最大与最小值之和:%dn”,sum);
return 0;
}
2.求两个长长整型的数据的和并输出,例如输入1233333333333333 。。。 3111111111111111111111111.。。。,则输出。。。。
#include
#include
#include
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_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(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;m
outsum[m]=sum[j]+’0′;
outsum[m]=’