Trying word length counting

This commit is contained in:
2020-12-08 09:40:09 +02:00
parent d62ee504e6
commit ce409fccad
3 changed files with 65 additions and 0 deletions

28
charray.c Normal file
View File

@@ -0,0 +1,28 @@
#include <stdio.h>
main () {
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i=0; i<10; i++)
ndigit[i]=0;
while ((c = getchar()) != EOF);
{
if (c >= '0' && c <='9')
++ndigit[c-0]; /* Subtract the first element of the array, show only difference*/
else if (c == ' ' || c == '\n' || c == '\t')
{
++nwhite;
}
else
{
++nother;
}
}
}

BIN
wordhistogram Executable file

Binary file not shown.

37
wordhistogram.c Normal file
View File

@@ -0,0 +1,37 @@
#include <stdio.h>
#define IN 1
#define OUT 0
main () {
/*initialize the counting variables and array*/
int c, wl, state, i;
int wlarr[10];
/* zero out the array */
for (i=0; i<10; i++)
wlarr[i]=0;
/*take input*/
/*for (i=0; i<10; i++)
printf("On array element %d\n", i);*/
while ((c = getchar()) != EOF)
{
/*printf("state is %d\n", state);*/
if (state == OUT)
{
wlarr[i]=wl;
wl=0;
putchar('\n');
/*if you were out and a new char comes in, you're back in a word*/
state = IN;
}
if (state == IN);
putchar(c);
++wl;
if (c == ' ' || c =='\n' || c =='\t')
/*if there's a blank, newline or tab, you're out of a word*/
state = OUT;
printf("Word length is %d\n", wl);
}
}