c语言 求中位数
发布网友
发布时间:2022-05-01 12:24
我来回答
共3个回答
热心网友
时间:2023-10-11 22:05
#include<stdio.h>
#define N 1001
void bubblesort(int *list,int len) //冒泡排序
{
int i,j;
int temp;
for(i=0;i<len - 1;i++)
for(j=0;j<len-i - 1;j++)
{
if(list[j+1]<list[j])
{
temp=list[j+1];
list[j+1]=list[j];
list[j]=temp;
}
}
}
int main(){
int num;
int tar[N];
scanf("%d", &num);
while(num != 0){
for(int i = 0; i< num; i++){
scanf("%d", &tar[i]);
}
bubblesort(tar, num);
if(num % 2 == 0){
printf("%lg\n",(tar[num/2] + tar[num/2 - 1]) / 2.0);
}else{
printf("%lg\n", tar[num/2]*1.0);
}
scanf("%d",&num);
}
return 0;
}
热心网友
时间:2023-10-11 22:06
#include<math.h>
#include<stdio.h>
#define N 100
void median(int *p,int a)
{
int i,j;
int d0,d1;
int temp;
for(i=0;i<a-1;i++)
for(j=0;j<a-i-1;j++)
{
d0 = p[j];
d1 = p[j+1];
if(d1<d0)
{
temp=d1;
d1=d0;
d0=temp;
}
}
}
int main(){
int num,i;
int dat[N];
scanf("%d", &num);
while(num != 0)
{
for(i = 0; i<num; i++)
{
scanf("%d", &dat[i]);
}
median(dat, num);
if(num % 2 != 0)
{
printf("%lg\n", dat[num/2]*1.0);
}
else
{
printf("%lg\n",(dat[num/2] + dat[num/2 - 1]) / 2.0);
}
scanf("%d",&num);
}
return 0;
}
热心网友
时间:2023-10-11 22:06
先排序,然后根据数字个数选中间的那个或者中间两个平局数。
热心网友
时间:2023-10-11 22:05
#include<stdio.h>
#define N 1001
void bubblesort(int *list,int len) //冒泡排序
{
int i,j;
int temp;
for(i=0;i<len - 1;i++)
for(j=0;j<len-i - 1;j++)
{
if(list[j+1]<list[j])
{
temp=list[j+1];
list[j+1]=list[j];
list[j]=temp;
}
}
}
int main(){
int num;
int tar[N];
scanf("%d", &num);
while(num != 0){
for(int i = 0; i< num; i++){
scanf("%d", &tar[i]);
}
bubblesort(tar, num);
if(num % 2 == 0){
printf("%lg\n",(tar[num/2] + tar[num/2 - 1]) / 2.0);
}else{
printf("%lg\n", tar[num/2]*1.0);
}
scanf("%d",&num);
}
return 0;
}
热心网友
时间:2023-10-11 22:06
#include<math.h>
#include<stdio.h>
#define N 100
void median(int *p,int a)
{
int i,j;
int d0,d1;
int temp;
for(i=0;i<a-1;i++)
for(j=0;j<a-i-1;j++)
{
d0 = p[j];
d1 = p[j+1];
if(d1<d0)
{
temp=d1;
d1=d0;
d0=temp;
}
}
}
int main(){
int num,i;
int dat[N];
scanf("%d", &num);
while(num != 0)
{
for(i = 0; i<num; i++)
{
scanf("%d", &dat[i]);
}
median(dat, num);
if(num % 2 != 0)
{
printf("%lg\n", dat[num/2]*1.0);
}
else
{
printf("%lg\n",(dat[num/2] + dat[num/2 - 1]) / 2.0);
}
scanf("%d",&num);
}
return 0;
}
热心网友
时间:2023-10-11 22:06
先排序,然后根据数字个数选中间的那个或者中间两个平局数。