求一个C语言求中位数的程序

2025-05-17 18:50:51
推荐回答(4个)
回答(1):

你描述的要求不是很明了,应该分步描述,每一步的要求分步写出来,大家容易看懂.

明白你的意思了!

只有两个口控制步进电机的话,需要外加步进电机驱动器.
p1.0控制方向,p1.0是1(0)电机向前,p1.0是0(1)步进电机向后

p1.1控制步数和速度,用一个PWM就可以了,直接用定时器来控制.pwm频率越高速度越快,但要用在定时器中断里面计算步进的步数来确定走了多远.

至于你说的中断信号,可以用循环扫描的方法,在程序中扫描输入中断信号,当检测到信号后改变P1.5的电平,即可点亮LED

回答(2):

/*可用于求n个数的中位数*/
#include 
#include 
using namespace std;
int a[1024], n;
int main () {
while (~scanf ("%d", &n)) {
for (int i = 0; i < n; i ++)
scanf ("%d", &a[i]);
sort(a, a + n);
if (n % 2 == 1)
printf ("%d\n", a[n/2]);
else
printf ("%d\n", (a[n/2 - 1] + a[n/2])/2);
}
return 0;
}

回答(3):

先排序嘛,冒泡,对半什么的方法很多。然后n个找第(n+1)/2个就行了。
欢迎追问~

回答(4):

int median(int a, int b, int c)
{
    if(a        {
        if(b        else{return a        }
    else
        {
        if(c>a){return a;}//c>a>b
        else{return c>b? c: b}//a>c>b: a>b>c
        }
}