华为2014机考题:输入1--50个数字,求出最小数和最大数的和

本文介绍了一段C语言代码,该代码用于从用户输入的一系列整数中找出最大值和最小值,并计算它们的和。通过解析输入字符串并转换为整数数组,程序能够有效地处理1到50个整数。

总觉得网上流传那个版本有问题,自己写了一个。

输入1--50个数字,求出最小数和最大数的和。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void main(){
int a[50];
char str[100];
gets(str);
int sign;
int i=0,j=0,n,max,min,s;
while(str[i]!='\0'){
if(str[i] == '-'){
sign = -1;
i++;
}
else {sign =1;}
a[j]=str[i]-'0';
i++;
while(str[i]!=' '&&str[i]!='\0'){
a[j]=10*a[j]+(str[i]-'0');
i++;
}
a[j] = sign*a[j];
j++;
if(str[i]!='\0'){
i++;
}
}
n=j;
printf("%d\n",n);
max=min=a[0];
for(i=0;i<n;i++){
if(a[i]>=max) max=a[i];
if(a[i]<=min) min=a[i];
}
s=min+max;
printf("%d",s);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值