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

 我来答
娱乐小八卦啊a
高粉答主

2019-10-31 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117866

向TA提问 私信TA
展开全部

这题考察数组的知识,代码如下:

#include<stdio.h>
int main()
{
int a[10],n,max,min,maxxiabiao,minxiabiao;
for(n=0;n<=9;n++)
{
scanf("%d",&a[n]);
}
max=min=a[0];
maxxiabiao=minxiabiao=0;
for(n=0;n<=9;n++)
{
if(a[n]>max)
{
max=a[n];
maxxiabiao=n;
}
else if(a[n]<min)
{
min=a[n];
minxiabiao=n;
}
}
printf("max=%d,xiabiao=%d\n",max,maxxiabiao);
printf("min=%d,xiabiao=%d\n",min,minxiabiao);
return 0;
}

扩展资料

同一数组中存储的数必须满足以下两个条件:

1、这些数的类型必须相同。

2、这些数在内存中必须是连续存储的。

换句话说,数组是在内存中连续存储的具有相同类型的一组数据的集合。

一维数组的定义方式如下:

类型说明符 数组名[常量表达式];

例如:int a[5];

它表示定义了一个整型数组,数组名为 a,定义的数组称为数组 a。数组名 a 除了表示该数组之外,还表示该数组的首地址。

此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的地址是连续分配的。也就是说,int 型变量占 4 字节的内存空间,那么 5 个int型变量就占 20 字节的内存空间,而且它们的地址是连续分配的。









风若远去何人留
2015-12-21 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
载荷之周
高粉答主

2010-04-28 · 每个回答都超有意思的
知道顶级答主
回答量:3万
采纳率:93%
帮助的人:1.2亿
展开全部
#include <stdio.h>

int main()
{
int a[10];
int i,min,max,total;

printf("请输入10个数据:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}

min=max=a[0];

for(i=1;i<10;i++)
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}

for(i=0;i<10;i++)
{
if(a[i]==min)
a[i]=0;
if(a[i]==max)
a[i]=0;
}

total=0;

for(i=0;i<10;i++)
{
total+=a[i];
}

printf("减去最大值和最小值的和为:%d\n",total);

return 0;
}

时间匆忙,没有调试,你可以看下思路,还有本程序在10个数中允许同时存在相同的最大值或者最小值,并且会减去所有相同的最值,比如10个数中最大值100,但有两个数都是100,那么它会减去2次100.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林声飘扬
2010-04-28 · TA获得超过1630个赞
知道小有建树答主
回答量:1126
采纳率:50%
帮助的人:965万
展开全部
#include <stdio.h>
#include <conio.h>

void main()
{
int sum=0,max=-32768,min=32767,x,i;

for(i=0;i<10;++i)
{ printf("输入第%d数\t",i+1);
scanf("%d",&x);
sum+=x;
if(max<x)
max=x;

if(min>x)
min=x;
}

printf("输入10个数去掉最大值最小值求剩下数的和:%d\n",sum-min-max);

getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AmiyaVenus
2010-04-28 · TA获得超过4296个赞
知道大有可为答主
回答量:2845
采纳率:100%
帮助的人:2488万
展开全部
#include<stdio.h>
void main()
{
int a,sum=0,max,min,i=1;
printf("Please input 10 numbers");
scanf("%d",&a);
sum+=a;
max=min=a;
while(i<=9)
{
scanf("%d",&a);
sum+=a;
if(a>max)max=a;
else if(a<min)min=a;
i++;

}
printf("%d",sum-max-min);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式