Advertisement
Guest User

Untitled

a guest
Jun 13th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include <stdio.h>
  2. int strlen(char *str)
  3. {
  4. int c=0;
  5. while( *str++ != '\0' )
  6. c++;
  7.  
  8. return c;
  9. }
  10. int strcmp(char *a, char *b)
  11. {
  12. for (; *a != '\0' || *b != '\0' ; *a++,*b++)
  13. {
  14. if( *a > *b)
  15. return 1;
  16. else if( *a < *b)
  17. return -1;
  18. }
  19. return 0;
  20. }
  21. int strtok(char *str, char *delimiters, char tokens[500][127])
  22. {
  23. int i,j,z=0,num=0,flag=1;
  24.  
  25. for(i=0; str[i] ; i++)
  26. {
  27. for(j=0; delimiters[j] ; j++)
  28. {
  29. if(str[i] == delimiters[j])
  30. {
  31. tokens[num][z]='\0';
  32. num++;
  33. z=0;
  34. flag=0;
  35. break;
  36. }
  37. }
  38.  
  39. if(flag)
  40. {
  41. tokens[num][z]=str[i];
  42. z++;
  43. }
  44. flag=1;
  45. }
  46. return num+1;
  47. }
  48. int main()
  49. {
  50. char delimiters[] = ".,!:;? ";
  51. char common_words[11][10] = {"a", "an", "the", "am", "is", "are", "of", "in", "to", "from", "at"};
  52. char para[1000];
  53. char tokens[500][127];
  54.  
  55. gets(para);
  56.  
  57. int num = strtok(para, delimiters, tokens);
  58. int i,j,c=0,sum=0;
  59.  
  60. for(i=0; i<num; i++)
  61. {
  62. int flag=1;
  63. for(j=0; j<11 ; j++)
  64. {
  65. if( strcmp(tokens[i],common_words[j])==0 || strlen(tokens[i])==0 )
  66. {
  67. flag=0;
  68. break;
  69. }
  70. }
  71. if(flag)
  72. {
  73. c++;
  74. sum += strlen(tokens[i]);
  75. }
  76. }
  77.  
  78. printf("%d \n%.2lf", c, sum/(double)c);
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement