Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int m,length;
- char comm[20][20]= {"am","is","are","a","an","the","of","in","to","from","at"};
- int strlen(char *a)
- {
- int i;
- for(i=0; *(a+i); i++);
- return i;
- }
- int strtok(char *str,char *delimiters,char token[500][127])
- {
- int i,j,m=0,n=0,flag,cnt=0;
- for(i=0,j=0; str[j]!='\0'; j++)
- {
- while(str[j]!=delimiters[i] && delimiters[i]!='\0')
- {
- i++;
- }
- if(delimiters[i]=='\0')
- {
- token[m][n]=str[j];
- n++;
- }
- else
- {
- token[m][n]='\0';
- flag=1;
- for(i=0; delimiters[i]; i++)
- {
- if (str[j+1]==delimiters[i] || str[j+1]=='\0')
- flag=0;
- }
- if(flag)
- cnt++;
- m++;
- n=0;
- }
- i=0;
- }
- for(i=0; i<=m; i++)
- {
- flag=1;
- for(j=0; j<=10; j++)
- {
- if (strcmp(token[i],comm[j])==0)
- {
- flag=0;
- cnt--;
- break;
- }
- }
- if(flag) length+=strlen(token[i]);
- }
- return cnt+1;
- }
- int strcmp(char *s1,char *s2)
- {
- int i,j,k,t,val;
- for(i=0; *(s1+i); i++);
- for(j=0; *(s2+j); j++);
- if (i>j) k=i;
- else k=j;
- for(t=0; t<k; t++)
- {
- if (*(s1+t)==*(s2+t))
- {
- val=0;
- continue;
- }
- else if(*(s1+t) < *(s2+t))
- {
- val= -1;
- break;
- }
- else if(*(s1+t)>*(s2+t))
- {
- val= 1;
- break;
- }
- }
- return val;
- }
- int main()
- {
- int i;
- char string[1000],delim[8]= {',',' ','.','!',';',':','?','\0'},token[500][127];
- gets(string);
- for(i=0; i<strlen(string); i++)
- if(string[i]>='A' && string[i]<='Z')
- string[i]=string[i]+32;
- int count=strtok(string,delim,token);
- float avlen=length*1.0/count;
- printf("%d \n%.2f",count,avlen);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement