1、编程实现输入 N 个数,然后去除最大数和最小数后,计算出
平均值。
2、编程实现下列功能。(可逐步实现)
(1) 随机生成 10 个数(1100 之间),对其进行从小到大的排100 之间)并输出,然后它判断是
序后输出。
(2) 再随机生成一个数(1
否属于前面生成的 10 个数中的一个。如果属于,则输出
是第几个(排序后的)。
(3) 如果不输入则将它插入到前面数列中的正确位置中,并再
次输出新的有序数列
#include <stdio.h>
const int N = 5;
int main()
{
int sum,t,max,min;
scanf("%d",&t);
max=min=sum=t;
for(int i=1;i<N;i++)
{
scanf("%d",&t);
if(t>max)max=t;
else if(t<min) min=t;
sum+=t;
}
sum-=max;
sum-=min;
printf("%f\n",sum*1.0/(N-2));
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int N = 11;
int main()
{
int a[N], t;
srand((unsigned int)time(NULL));
for(int i = 0; i < N - 1; i++)
{
a[i] = rand() % 100 + 1;
}
for(int i = 0; i < N - 2; i++)
{
for(int j = i + 1; j < N - 1; j++)
{
if(a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(int i = 0; i < N - 1; i++)
{
printf("%d ", a[i]);
}
printf("\n");
t = rand() % 100 + 1;
int i, index = 0;
for(i = N - 1; i >= 0 ; i--)
{
if(t == a[i])
{
printf("%d是数组中的第%d个\n", t, i + 1);
break;
}
else if(t < a[i])
{
index = i;
}
}
if(i < 0)
{
for(i = N - 2; i >= index; i--)
{
a[i + 1] = a[i];
}
a[i + 1] = t;
for(int i = 0; i < N; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
return 0;
}