Ⅰ c语言设计“有五个数,去掉一个最大数和一个最小数,求剩下三个数的平均数”
先求5个数的总和啊,然后用比较找出最大的数和最小的数,分别保存。
然后从5个数中减去最大的数和最小的数,除以3 得 平均数。
Ⅱ c语言中要求输入5个数但实际只需3个数,另外2个怎么办
通常使用特殊符号做为结束,比如回车、-1、空格等
Ⅲ C语言:我要删除一个数,代码如下。例如一共5个数,我不要3了,可是结果我只能求出3以后的,3以前的不会求
#include<stdio.h>
void main()
{
int i,j,a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<5;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<5;i++)
if(a[i]==3)
break;
for(j=i;j<4;j++)//你i现在的值就是3,你j从i开始肯定只会输出3以后的
{
a[j]=a[j+1];
}
for(i = 0;i < 4;i ++ )
printf("%3d", a[i]);
}
Ⅳ C语言间隔6个数连续取2个数怎么做
首先纠正一下,你举的例子是间隔4个数,连续取2个
而且你的例子不是从第0个开始。
我下面就以间隔6个数,连续取2个来距离(间隔4个方法相同)
我举2个例子:
思路①:先找第0,8,16...放入b[0],b[2],b[4,]...,然后再找第1,9,17....放入b[1],b[3],b[5].....
这样就可以了
思路②用循环,中间只要有一个判断就可以了,我把这个的过程给你打上
我的例子是以20个数字的数组,间隔6
如果你要变化数组个数,只要把 #define N 20 中的20替换即可,注意20前面有“空格”
如果你要变化间隔个数,只要把 #define M 6 中的6替换即可,注意6前面有“空格”
注意:输入数组时,用“回车”或者“空格”来隔开输入的数字,不要用“逗号”
#include<stdio.h>
#define N 20
#define M 6
void main()
{
int a[N],b[N],i,n;
for(i=0;i<=N-1;i++)scanf("%d",&a[i]);
i=0;n=0;
while(i<=N-1)
{
if((i+M+1)%(M+2)==0)
{
b[n++]=a[i];
i+=M+1;
}
else
{
b[n++]=a[i++];
}
}
for(i=0;i<=n-1;i++)printf("%d,",b[i]);
}
Ⅳ C语言五个数
float ,double,int ,char ,bool
Ⅵ 在C语言程序中,随便输入十个数,去掉两个最大的数和两个最小的数,怎么编程
排序,不要头、和不要尾
~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~
Ⅶ C语言,五个数
你不会是说int ,float ,double,char,bool五种类型吧
Ⅷ 用C语言编程序,由键盘输入五个数后按从高到低排列,再去掉一个最高一个最低求平均。
#include <stdio.h>
#include <stdlib.h>#define MAXlen 5void select_sort(int *x, int n) { //选择排序
int i, j, min;
int t;
for (i = 0; i < n - 1; i++) { // 要选择的次数:0~n-2共n-1次
min = i; // 假设当前下标为i的数最小,比较后再调整
for (j = i + 1; j < n; j++) { //循环找出最小的数的下标是哪个
if (*(x + j) > *(x + min)) {
min = j; // 如果后面的数比前面的大,则记下它的下标
}
}
if (min != i) { // 如果min在循环中改变了,就需要交换数据
t = *(x + i);
*(x + i) = *(x + min);
*(x + min) = t;
}
}
}int main() {
int i,a[MAXlen],sum = 0;
for(i = 0 ; i < MAXlen ; i++) {
printf("请输入第%d个数 : ",i + 1);
scanf("%d",&a[i]);
sum = sum + a[i];
}
printf("\n");
select_sort(a,MAXlen);
printf("\n排序后:\n");
for(i = 0 ; i < MAXlen ; i++) {
if(i % 10 == 0) printf("%\n");
printf("%5d",a[i]);
}
printf("\n\n去掉最大数后的平均值为:%.2f",(float)(sum - a[0])/(MAXlen - 1));
printf("\n\n");
return 0;
}
Ⅸ C语言,输入五个数,去掉一个最大值和一个最小值,求剩余三个数的平均值
基本做法
double型数组,建立两个记录,一个记录最小值的下标,一个记录最大值的下标,初始都为 -1;
每次输入一个数都要和当前两个记录比对,然后若比最小的还小,则将最小记录赋值为当前数的下标,最大记录类同;
除了两个记录指向的数字外,相加其他三个数,除以3
#include "stdio.h"
int main()
{
int i;
double max=0,min=0,a[10],avg=0;
scanf("%lf",&a[0]);
min=max=a[0];
for(i=1;imax)
max=a[i];
else if(a[i]
Ⅹ c语言删数问题
这个题目其实你想复杂了,3L说的完全是对的。也许你看的不是很懂。
那么这么给你讲吧,就是从数据的最高位往后面扫描。如果发现相邻的2个数据中,右边的比左边的小,那么就将左边的那个数减掉,不然就剪掉最大的那个数值。
然后,继续重复开始扫描,直到删除的个数满足就达到目的了。
比如:123546
删除5之后,这个数绝对是最小的了,至于原因,你可以试试删除其他数然后比较比较就知道了。
一直继续下去,保证每一次删除数据之后都是最小值,结构就自然出来了。