题目:输入整型数组求数组的最小数和最大数之和。例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数。
#include<stdio.h>
#define N 1000
int main()
{
int k=0,n,i;
int max,min;
int a[N]={0};
char c;
while(1)
{
scanf("%d",&n);
a[k]=n;
k++;
scanf("%c",&c);
if(c!=',')
break;
}
max=a[0];
min=a[0];
for(i=0;i<k;i++)
{
if(a[i]>max)
max=a[i];
else if(a[i]<min)
min=a[i];
}
printf("%d\n",(max+min));
return 0;
}
若按下面这种方式做题,有问题,问题出在while(c!='\n')
华为机试是的编译环境比较特殊,需改成while(c!=EOF)
#include<stdio.h>
#define N 1000
int main()
{
int k=0,n,i;
int max,min;
int a[N]={0};
char c;
while(c!='\n')
{
scanf("%d",&n);
a[k]=n;
k++;
scanf("%c",&c);
}
max=a[0];
min=a[0];
for(i=0;i<k;i++)
{
if(a[i]>max)
max=a[i];
else if(a[i]<min)
min=a[i];
}
printf("%d\n",(max+min));
return 0;
}