寻找给定列表的中位数的C程序

寻找给定列表的中位数的c程序

如果列表中的元素按顺序排列,则将列表中的元素分成两部分且两边元素数量相等的中间值称为中位数

元素个数为奇数只有一个中间值;而;偶数个项目有两个中间值。

因此,偶数个项目的中位数被指定为两个中间值的平均值。

算法

请参考下面给出的算法来计算中位数。

步骤 1 – 将项目读入数组,同时保留项目的计数。

步骤 2 – 按升序对项目进行排序顺序。

第 3 步 – 计算中位数。

在找到中位数之前对数字进行排序的逻辑如下 –

for (i = 1 ; i <= n-1 ; i++){   for (j = 1 ; j <= n-i ; j++){      if (a[j] <= a[j+1]){         t = a[j];         a[j] = a[j+1];         a[j+1] = t;      } else      continue ;   }}

用于查找列表中位数的逻辑如下 –

if ( n % 2 == 0)   median = (a[n/2] + a[n/2+1])/2.0 ;else   median = a[n/2 + 1];

示例

以下是计算给定数字中位数的 C 程序 –

 现场演示

#include#define N 10main( ){   int i,j,n;   float median,a[N],t;   printf("Enter the number of items

"); scanf("%d", &n); /* Reading items into array a */ printf("Input %d values

",n); for (i = 1; i <= n ; i++) scanf("%f", &a[i]); /* Sorting begins */ for (i = 1 ; i <= n-1 ; i++){ /* Trip-i begins */ for (j = 1 ; j <= n-i ; j++) { if (a[j] <= a[j+1]) { /* Interchanging values */ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } else continue ; } } /* sorting ends */ /* calculation of median */ if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1]; /* Printing */ for (i = 1 ; i <= n ; i++) printf("%f ", a[i]); printf("

Median is %f

", median);}

输出

执行上述程序时,会产生以下输出 –

Enter the number of items5Input 5 values2.31.23.84.68.98.900000 4.600000 3.800000 2.300000 1.200000Median is 3.800000

以上就是寻找给定列表的中位数的C程序的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:13:41
下一篇 2025年12月8日 12:41:16

相关推荐

  • 将以下内容翻译为中文:使用递归在C程序中将二进制转换为格雷码

    二进制数是只有两位 0 和 1 的数字。 格雷码是一种特殊类型的二进制数,其属性是代码的两个连续数字 em> 的差异不能超过一位。格雷码的这一特性使其在 K-map、纠错、通信等方面更加有用。 这使得二进制到格雷码的转换成为必要。那么,让我们看一下将二进制转换为格雷码的算法使用递归。 示例 让…

    2025年12月17日
    000
  • C程序中前n个偶数的平方和

    前n个偶数的平方和意味着,我们首先找到平方并将它们全部相加得到总和。 有两种方法可以找到前n个偶数的平方和 使用循环 我们可以使用循环从1到n迭代,每次增加1,找到平方并将其加到总和变量中− 例子 #include using namespace std;int main() { int sum =…

    2025年12月17日
    000
  • 活动选择问题的C程序

    活动选择问题是给定一组活动及其开始和结束时间的问题。我们需要找到一个人一次执行单个活动可以执行的所有活动。 此问题指定贪婪算法来选择下一个要执行的活动。我们先来了解一下贪心算法。 贪心算法是一种试图通过一步步寻找解来寻找问题解决方案的算法。为了选择下一步,该算法还选择了似乎最有希望的步骤,即与休息相…

    2025年12月17日
    000
  • 在C程序中,编译时错误和运行时错误之间的区别是什么?

    错误或异常是指由于代码执行中断而无法达到预期结果的情况。根据生成或识别错误的事件,我们可以将其分类为编译时错误和运行时错误。 以下是编译时错误和运行时错误之间的重要区别。 序号 关键 编译时错误 运行时错误 1参考编译时错误通常指与语法或语义相关的错误。另一方面,运行时错误指的是在运行时执行代码时遇…

    2025年12月17日
    000
  • 查找字符串长度的C程序

    这个字符串实际上是一个由字符组成的一维数组,以一个null 字符’’结尾。因此,一个以null结尾的字符串包含组成字符串的字符,后面跟着一个null。 要找到字符串的长度,我们需要循环并计算循环中的所有字符,直到匹配到‘’字符为止。 例如 输入 −naman  输出 − 字符…

    2025年12月17日
    000
  • C程序:求解停靠站问题

    问题陈述– 一个程序,用于查找火车在 n 个车站中的 r 个车站停靠的方式,以便没有两个停靠站是连续的。 问题解释 该程序将计算火车停靠的方式数,即排列。在这里,火车将从点X行驶到Y。在这些点之间,有n个站点。列车将在这n个车站中的r个车站停靠,条件是在r车站停靠时,列车不应在连续两个车…

    2025年12月17日
    000
  • C程序用于计算等比数列的第N项

    Given ‘a’ the First term, ‘r’ the common ratio and ‘n’ for the number of terms in a series. The task is to find the nth term of the series. So, before…

    2025年12月17日
    000
  • 使用C++程序将字符串中的所有辅音替换为最近的元音

    该方法旨在用字母表中最接近的元音(也称为小写拉丁字母)替换一串辅音。如果两个元音同样接近,我们可以用这些字母中的第一个元音来替换它们。 让我们来看一些输入场景 – 假设我们有一个字符串,比如“ebgkjasjd”,现在我们需要将字符串中所有出现的辅音字母替换为最近的元音字母。 Input…

    2025年12月17日
    000
  • C++程序打印字典

    映射是 C++ 中的一种特殊类型的容器,其中每个元素都是一对两个值,即键值和映射值。键值用于索引每个项目,映射值是与键关联的值。无论映射值是否唯一,键始终是唯一的。要在 C++ 中打印映射元素,我们必须使用迭代器。一组项目中的一个元素由迭代器对象指示。迭代器主要与数组和其他类型的容器(例如向量)一起…

    2025年12月17日
    000
  • C++程序将向量转换为列表

    C++ 中的向量是动态数组,可以包含任何类型的数据,可以是用户定义的或原始的。动态是指向量的大小可以根据操作增加或减少。向量支持各种函数,数据操作非常容易。另一方面,列表是与向量相同的容器,但与向量的数组实现相比,列表实现是基于双向链表的。列表在其中的任何位置都提供相同的恒定时间操作,这是使用列表的…

    2025年12月17日
    000
  • C程序打印字符,不使用格式说明符

    在本文中,我们将了解如何在不使用任何格式的情况下打印一些字符说明符。 C 中的格式说明符有 %d、%f、%c 等。这些用于打印字符和C 中的数字使用 printf() 函数。 这里我们将看到另一种不使用 %c 格式说明符打印字符的方法。这个可以通过直接以十六进制形式放置ASCII值来完成。 示例代码…

    2025年12月17日
    000
  • C程序表示乘法表

    问题 编写一个程序,按照以下给定的格式打印从1 x 1到12 x 10的乘法表: 1 2 3 4 5 6 7 8 9 102 4 6 8 ……………….203 6 9………&…

    2025年12月17日
    000
  • 在C程序中,将数组范围查询与频率相同的元素进行翻译

    这里我们会看到一个有趣的问题。我们有一个包含 N 个元素的数组。我们必须执行一个查询 Q,如下所示: Q(start, end) 表示从开始到结束,数字“p”出现的次数恰好是“p”次。 p> 因此,如果数组类似于:{1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8},并且查询为 …

    2025年12月17日
    000
  • C++程序查找法向量和迹

    二维数组或矩阵在多个应用中非常有用。矩阵有行和列,并在其中存储数字。在C++中,我们也可以使用多维数组来定义二维矩阵。在本文中,我们将看到如何使用C++计算给定矩阵的范数和迹。 法线是矩阵中所有元素总和的平方根。迹是主对角线中存在的元素的总和。让我们看看算法和 C++ 代码表示。 矩阵法线 $beg…

    2025年12月17日
    000
  • C程序中的阶乘程序

    Given with the number n the task is to calculate the factorial of a number. Factorial of a number is calculated by multiplying the number with its sma…

    2025年12月17日
    000
  • 在C程序中,打印只包含数字0和1的数,使它们的和为N

    给定一个整数n,任务是打印仅由0和1组成的数字,并且它们的总和等于整数n。 仅包含0和1的数字是1、10 , 11 所以我们必须打印所有可以相加得到等于 n 的数字。 就像,我们输入 n = 31 那么答案可以是 10+10+11 或 10+10 +10+1 示例 Input: 31Output:1…

    2025年12月17日
    000
  • 写一个C程序,使用strncmp库函数来比较两个字符串

    strncmp是一个预定义的库函数,存在于string.h文件中,它用于比较两个字符串并显示哪个字符串更大。 strcmp函数(字符串比较) 此函数比较两个字符串。它返回两个字符串中第一个不匹配字符的ASCII差异。 语法 int strcmp (string1, string2); 如果差异等于零…

    2025年12月17日
    000
  • C程序用于判断给定的数字是否为强数

    一个强数是一个数字,其中各位数字的阶乘之和等于该数字本身。 示例 123!= 1!+2!+3!                    =1+2+6 =9 在这个例子中,123不是一个强数,因为各位数字的阶乘之和不等于该数字本身。 145!=1!+4!+5!             =1+24+120…

    2025年12月17日
    000
  • C程序:将文本中的一个单词替换为另一个给定的单词

    在这个程序中,我们给定了三个字符串 txt、oldword 和 newword。我们的任务是创建一个 C 程序,将文本中的一个单词替换为另一个给定的单词。 该程序将搜索文本中所有出现的 oldword,并将其替换为 newword。 让我们举个例子来理解这个问题 – 输入 text = …

    2025年12月17日
    000
  • C程序以显示指向指针之间的关系

    在 C 编程语言中,指向指针的指针或双指针是一个保存另一个指针地址的变量。 声明 下面给出的是指向指针的指针的声明 – datatype ** pointer_name; 例如int **p; 这里,p是一个指向指针的指针。 初始化 ‘&’用于初始化。 例…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信