C语言输入10个数去掉最大值最小值求剩下数的和

如题所述

1
输入十个数。
2
遍历数组,求的最大值,最小值,及和。
3
用和减去最大和最小值,即剩下所有数的和。
代码如下:
int func(int *a)//求数组a中的10个元素,去掉最大最小值后剩余元素的和,并返回。
{
int i, s, min, max;
s = min = max = a[0];
for(i = 1; i <10;i++)
{
s+=a[i];//求和。
if(min > a[i]) min = a[i];//最小值。
if(max < a[i]) max = a[i];//最大值。
}
s -= min+max;//去掉最大最小两个值。
return s;//返回结果
}
int main()
{
int a[10],i;
for(i = 0; i < 10; i ++)
scanf("%d",a+i);//输入10个数。
printf("%d\n",func(a));//输出结果。
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-25
1
输入十个数。
2
遍历数组,求的最大值,最小值,及和。
3
用和减去最大和最小值,即剩下所有数的和。
代码如下:
int func(int *a)//求数组a中的10个元素,去掉最大最小值后剩余元素的和,并返回。
{
int i, s, min, max;
s = min = max = a[0];
for(i = 1; i <10;i++)
{
s+=a[i];//求和。
if(min > a[i]) min = a[i];//最小值。
if(max < a[i]) max = a[i];//最大值。
}
s -= min+max;//去掉最大最小两个值。

return s;//返回结果
}
int main()
{
int a[10],i;
for(i = 0; i < 10; i ++)
scanf("%d",a+i);//输入10个数。
printf("%d\n",func(a));//输出结果。

return 0;
}
第2个回答  2019-05-20
1
输入十个数。
2
遍历数组,求的最大值,最小值,及和。
3
用和减去最大和最小值,即剩下所有数的和。
代码如下:
int func(int *a)//求数组a中的10个元素,去掉最大最小值后剩余元素的和,并返回。
{
int i, s, min, max;
s = min = max = a[0];
for(i = 1; i <10;i++)
{
s+=a[i];//求和。
if(min > a[i]) min = a[i];//最小值。
if(max < a[i]) max = a[i];//最大值。
}
s -= min+max;//去掉最大最小两个值。

return s;//返回结果
}
int main()
{
int a[10],i;
for(i = 0; i < 10; i ++)
scanf("%d",a+i);//输入10个数。
printf("%d\n",func(a));//输出结果。

return 0;
}
相似回答