Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int m,length;
  4. char comm[20][20]= {"am","is","are","a","an","the","of","in","to","from","at"};
  5.  
  6. int strlen(char *a)
  7. {
  8. int i;
  9.  
  10. for(i=0; *(a+i); i++);
  11.  
  12. return i;
  13. }
  14.  
  15. int strtok(char *str,char *delimiters,char token[500][127])
  16. {
  17. int i,j,m=0,n=0,flag,cnt=0;
  18.  
  19. for(i=0,j=0; str[j]!='\0'; j++)
  20. {
  21. while(str[j]!=delimiters[i] && delimiters[i]!='\0')
  22. {
  23. i++;
  24. }
  25.  
  26. if(delimiters[i]=='\0')
  27. {
  28. token[m][n]=str[j];
  29. n++;
  30. }
  31.  
  32. else
  33. {
  34. token[m][n]='\0';
  35. flag=1;
  36. for(i=0; delimiters[i]; i++)
  37. {
  38. if (str[j+1]==delimiters[i] || str[j+1]=='\0')
  39. flag=0;
  40. }
  41. if(flag)
  42. cnt++;
  43. m++;
  44. n=0;
  45. }
  46.  
  47. i=0;
  48. }
  49.  
  50. for(i=0; i<=m; i++)
  51. {
  52. flag=1;
  53. for(j=0; j<=10; j++)
  54. {
  55. if (strcmp(token[i],comm[j])==0)
  56. {
  57. flag=0;
  58. cnt--;
  59. break;
  60. }
  61. }
  62. if(flag) length+=strlen(token[i]);
  63. }
  64.  
  65. return cnt+1;
  66. }
  67.  
  68. int strcmp(char *s1,char *s2)
  69. {
  70. int i,j,k,t,val;
  71.  
  72. for(i=0; *(s1+i); i++);
  73. for(j=0; *(s2+j); j++);
  74.  
  75. if (i>j) k=i;
  76. else k=j;
  77.  
  78. for(t=0; t<k; t++)
  79. {
  80. if (*(s1+t)==*(s2+t))
  81. {
  82. val=0;
  83. continue;
  84. }
  85.  
  86. else if(*(s1+t) < *(s2+t))
  87. {
  88. val= -1;
  89. break;
  90. }
  91.  
  92. else if(*(s1+t)>*(s2+t))
  93. {
  94. val= 1;
  95. break;
  96. }
  97. }
  98.  
  99. return val;
  100. }
  101.  
  102.  
  103. int main()
  104. {
  105. int i;
  106. char string[1000],delim[8]= {',',' ','.','!',';',':','?','\0'},token[500][127];
  107. gets(string);
  108.  
  109. for(i=0; i<strlen(string); i++)
  110. if(string[i]>='A' && string[i]<='Z')
  111. string[i]=string[i]+32;
  112.  
  113. int count=strtok(string,delim,token);
  114.  
  115. float avlen=length*1.0/count;
  116.  
  117. printf("%d \n%.2f",count,avlen);
  118. return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement