Heim  >  Artikel  >  Backend-Entwicklung  >  C-Programm zum Ermitteln des Medians einer bestimmten Liste

C-Programm zum Ermitteln des Medians einer bestimmten Liste

PHPz
PHPznach vorne
2023-09-14 13:21:08986Durchsuche

C-Programm zum Ermitteln des Medians einer bestimmten Liste

Wenn die Elemente in der Liste der Reihe nach angeordnet sind, wird der Mittelwert, der die Elemente in der Liste in zwei Teile mit einer gleichen Anzahl von Elementen auf beiden Seiten teilt, als Median bezeichnet.

Wenn die Anzahl der Elemente ungerade ist, gibt es nur einen Zwischenwert, während es bei einer geraden Anzahl von Elementen zwei Zwischenwerte gibt.

Der Median einer geraden Anzahl von Items wird also als Durchschnitt der beiden Mittelwerte angegeben.

Algorithmus

Bitte beachten Sie den unten angegebenen Algorithmus, um den Median zu berechnen.

Schritt 1 – Lesen Sie die Elemente in ein Array ein und behalten Sie dabei die Anzahl der Elemente bei.

Schritt 2 – Elemente in aufsteigender Reihenfolge sortieren.

Schritt 3 – Berechnen Sie den Median.

Die Logik zum Sortieren von Zahlen vor dem Ermitteln des Medians lautet wie folgt:

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 ;
   }
}

Die Logik zum Ermitteln des Medians einer Liste lautet wie folgt:

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

Beispiel

Hier ist das C-Programm zur Berechnung des Medians einer bestimmten Zahl -

Live-Demonstration

#include<stdio.h>
#define N 10
main( ){
   int i,j,n;
   float median,a[N],t;
   printf("Enter the number of items</p><p>");
   scanf("%d", &n);
   /* Reading items into array a */
   printf("Input %d values </p><p>",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("</p><p></p><p>Median is %f</p><p>", median);
}

Ausgabe

Beim Ausführen des obigen Programms wird die folgende Ausgabe generiert:

Enter the number of items
5
Input 5 values
2.3
1.2
3.8
4.6
8.9
8.900000 4.600000 3.800000 2.300000 1.200000

Median is 3.800000

Das obige ist der detaillierte Inhalt vonC-Programm zum Ermitteln des Medians einer bestimmten Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen