Trying word length counting
This commit is contained in:
28
charray.c
Normal file
28
charray.c
Normal 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
BIN
wordhistogram
Executable file
Binary file not shown.
37
wordhistogram.c
Normal file
37
wordhistogram.c
Normal 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user