C determinação de desvio idioma

função prepare ReadDat () para conseguir ler 1000 decimal inteiro de arquivo IN.DAT em uma matriz em xx:

Por favor, prepare a função Compute () é calculado, respectivamente, em um número par de xx mesmo, o valor médio AVE1 estranho, de número par eo ave2 valor médio de totfc variância, após a WriteDat chamada de função () OUT.DAT emite o resultado para um arquivo.

Calculando a variância da seguinte fórmula:

N_____2

totfc = 1 / NΣ (xx [i] -ave2)

i = 1, desde que N é um número par de, xx [i] é um número par, ave2 um valor médio mesmo.

O formato dos ficheiros de dados originais: cada número de linha de armazenamento 10, e separados por vírgulas. (Cada número maior do que 0 e menos do que ou igual a 2,000).
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX 1000

int xx [MAX], impar = 0, mesmo = 0;

double ave1 = 0,0, ave2 = 0,0, totfc = 0,0;

WriteDat vazio (void);

int ReadDat (void) {int i; FILE * fp;

if ((fp = fopen ( “IN.DAT”, “r”)) == NULL) retornar 1;

/ Função compilado ReadDat () de secção *** /

for (i = 0; i <MAX; i ++)

{Fscanf (fp, "% d",, & xx [i]);

if ((i + 1) 10% == 0)

fscanf (fp, "\ n"); }

/ ******************************************* /

fclose (fp);

return 0;

}

vazio Compute (void)

{Int i, YY [MAX];

for (i = 0; i <MAX; i ++)

yy [i] = 0;

for (i = 0;

i <MAX; i ++)

if (xx [i]% 2 == 0) {aa [mesmo ++] = xx [i]; ave2 + = xx [i];}

else {estranho ++; ave1 + = xx [i];}

se (ímpar == 0) ave1 = 0;

outra ave1 / = estranho;

se (mesmo == 0) ave2 = 0;

outra ave2 / = mesmo;

for (i = 0; i <mesmo; i ++)

totfc + = (yy [i] -ave2) * (yy [i] -ave2) / mesmo;

}

void main ()

{

int i;

for (i = 0; i <MAX; i ++) xx [i] = 0;

if (ReadDat ()) {

printf ( "arquivo de dados IN.DAT não pode ser aberto \ 007 \ n!");

Retorna;

}

Calcular();

printf ( “FORNO =% d \ nAVE1 =% f \ nAVER2 =% f \ nTOTFC =% f \ n”, mesmo, ave1, ave2, totfc);

WriteDat ();

}

vazio WriteDat (void)

{

FILE * fp;

int i;

fp = fopen ( “OUT.DAT”, “W”);

fprintf (fp, "% d \ n% f \ n% f \ n% f \ n", mesmo, ave1, ave2, totfc);

fclose (fp);

}

Publicado 239 artigos originais · ganhou elogios 3 · Vistas 3164

Acho que você gosta

Origin blog.csdn.net/it_xiangqiang/article/details/105164193
Recomendado
Clasificación