C-Programmierung: Algorithmen für Statistik und Spiele
Statistik in C: Mittelwert und Varianz
Dieses Programm liest eine Stichprobe von Werten ein und berechnet sowohl das arithmetische Mittel als auch die statistische Varianz.
void leer_muestra(double v[], int n) {
int i;
printf("Geben Sie die Sample-Werte ein:");
for (i = 0; i < n; i++)
scanf("%lf", &v[i]);
}
double med_arit(double v[], int n) {
double sum = 0.0;
int i;
for (i = 0; i < n; i++)
sum += v[i];
return (sum / n);
}
double variance(double v[], int n) {
double var = 0.0, m;
int i;
m = med_arit(v, n);
for (i = 0; i < n; i++)
var += (m - v[i]) * (m - v[i]);
return (var / n);
}
void escr_muestra(double v[], int n) {
int i;
for (i = 0; i < n; i++)
printf("%lf ", v[i]);
}
void main() {
void leer_muestra(double v[], int n);
double med_arit(double v[], int n);
double variance(double v[], int n);
void escr_muestra(double v[], int n);
double v[20];
double mean, var;
leer_muestra(v, 20);
escr_muestra(v, 20);
mean = med_arit(v, 20);
printf("media = %lf\n", mean);
var = variance(v, 20);
printf("VAR = %lf\n", var);
}Primzahlprüfung in C
Algorithmus zur Bestimmung, ob eine eingegebene positive Ganzzahl eine Primzahl ist:
int prime(unsigned int p) {
int i;
int prim = 1;
for (i = 2; i < p; i++)
if (p % i == 0)
prim = 0;
return prim;
}
int main() {
int prime(unsigned int p);
unsigned int num;
int i;
printf("Geben Sie eine Zahl ein: ");
scanf("%u", &num);
i = prime(num);
if (i == 1)
printf("Die Zahl ist eine Primzahl.\n");
else
printf("Die Zahl ist keine Primzahl.\n");
return 0;
}Numerische Integration (Integral)
Approximation eines bestimmten Integrals mittels numerischer Flächenberechnung (Trapezmethode):
S = 0;
for (i = 0; i < N; i++) {
H1 = f(g + i * B, a, b, c);
H2 = f(g + (i + 1) * B, a, b, c);
AT = (B / 2.0) * (|H1| + |H2|);
S += AT;
}
// Berechnungsfunktion
return a * x * x + b * x + c;Tic-Tac-Toe in C (Drei gewinnt)
Einfaches konsolenbasiertes Tic-Tac-Toe-Spiel gegen den Computer:
#include <stdio.h>
#include <stdlib.h>
char board[3][3];
char check(void);
void inic_tablero(void);
void obt_mov_jugador(void);
void obt_mov_ordenador(void);
void mostrar_tablero(void);
void main(void) {
char done;
printf("Das ist das Spiel Drei gewinnt (Nullen und Kreuze).\n");
printf("Dies ist ein Spiel gegen den Computer.\n");
done = ' ';
inic_tablero();
do {
mostrar_tablero();
obt_mov_jugador();
done = check();
if (done != ' ') break;
obt_mov_ordenador();
done = check();
} while (done == ' ');
if (done == 'X')
printf("Sie haben gewonnen!\n");
else
printf("Der Computer gewinnt!\n");
mostrar_tablero();
}