6-3 求自定类型元素序列的中位数 分数 25 作者 陈越 单位 浙江大学 本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第⌊(N+1)/2⌋大的元素。其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Median( ElementType A[], int N ); 其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函数须返回N个A[]元素的中位数,其值也必须是ElementType类型。 裁判测试程序样例:
时间: 2023-06-01 12:02:25 浏览: 201
#include <stdio.h>
#include <stdlib.h>
#define MAXN 100000
typedef float ElementType;
ElementType Median(ElementType A[], int N);
int main()
{
ElementType A[MAXN];
int N, i;
scanf("%d", &N);
for (i = 0; i < N; i++)
scanf("%f", &A[i]);
printf("%.2f\n", Median(A, N));
return 0;
}
/* 你的代码将被嵌在这里 */
样例输入1:
5
12.3 34 -5 0 6
样例输出1:
6.00
样例输入2:
4
0.1 0.2 0.3 0.4
样例输出2:
0.25
相关问题
6-1 在一个数组中实现两个堆栈 分数 20 作者 陈越 单位 浙江大学 本题要求在一个数组中实现两个堆栈。
本题要求在一个数组中实现两个堆栈。具体实现方法是定义一个结构体SNode,其中包含一个int类型的数组Data,两个指针Top1和Top2分别指向两个堆栈的栈顶,一个int类型的MaxSize表示数组的最大容量。然后定义CreateStack函数用于创建一个SNode类型的堆栈,Push函数用于向堆栈中压入元素,Pop函数用于从堆栈中弹出元素。在Push函数中,需要根据Tag的值判断是向哪个堆栈中压入元素,同时需要判断数组是否已满。在Pop函数中,同样需要根据Tag的值判断是从哪个堆栈中弹出元素,同时需要判断堆栈是否为空。
6-1 简单阶乘计算 分数 20 作者 陈越 单位 浙江大学 本题要求实现一个计算非负整数阶乘的简单函数。 函数接口定义: int Factorial( const int N ); 其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。 裁判测试程序样例: #include <stdio.h> int Factorial( const int N ); int main() { int N, NF; scanf("%d", &
N);
NF = Factorial(N);
if (NF)
printf("%d! = %d\n", N, NF);
else
printf("Invalid input\n");
return 0;
}
你可以在函数体内使用循环或递归来计算阶乘。
阅读全文