Le nombre de nombre de mots en langage C

Ecrire une fonction findstr (char * str, char * substr), une fonction statistique de la fréquence et la longueur de 2 sous-chaîne se produisant dans une autre chaîne. Par exemple, en supposant que la chaîne de caractères d'entrée est « asd asd asasdfg comme zx67 asd mklo », la sous-chaîne « comme », la valeur de retour de la fonction est de 6.

fonction ReadWrite () Mettre en oeuvre lu à partir du fichier in.dat les deux chaînes, et appelle la fonction findstr (), après la sortie d'un fichier dans out.dat.
#include <stdio.h>

#include <string.h>

#include <conio.h>

int findstr (char * str, char * substr)

{Int i, j, len1, len2, cnt = 0, le drapeau;

len1 = strlen (str);

len2 = strlen (substr);

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

{For (j = 0; j <len2; j ++)

if (str [i + j] == substr [j]) flag = 1;

else {flag = 0; break;}

if (drapeau == 1) cnt ++;

}

retourner cnt;

}

principale()

{

carbonisation str [81], substr [3];

int n;

clrscr ();

printf ( "Entrez chaîne d'origine:");

gets (str);

printf ( "sous-chaîne de caractères entrée:");

gets (substr);

puts (str);

puts (substr);

= Findstr (str, substr);

printf ( « n =% d \ n », n);

Lire écrire() ;

}

Lire écrire()

{

carbonisation str [81], substr [3], ch;

int n, len, i = 0;

FICHIER * rf * wf;

rf = fopen ( « in.dat », « r »);

wf = fopen ( « out.dat », « w »);

while (i <25) {

fgets (str, 80, RF);

fgets (substr, 10, RF);

len = strlen (substrat) - 1;

ch = substr [uniquement];

if (ch == '\ n' || ch == 0x1a) substr [len] = 0;

= Findstr (str, substr);

fprintf (wf, « % d \ n », n);

i ++;

}

fclose (RF);

fclose (Wf);

}

Publié 239 articles originaux · louange gagné 3 · Vues 3155

Je suppose que tu aimes

Origine blog.csdn.net/it_xiangqiang/article/details/105176474
conseillé
Classement