Программа, которая подсчитывает символы выбранного слова

#c #char #counting

#c #символ #подсчет

Вопрос:

Это домашнее задание, извините за это. Я не могу создать рабочую программу для подсчета символов в word, для примера:

  • Я ввожу строку: меня зовут Питер
  • Программа запрашивает, какое слово обрабатывать..
  • Я ввожу число: 3
  • Программа сообщает: количество третьего слова равно 2.

 #include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
  char text[200],vards[20];
  int i, length,lengthv, count=0,x;
  printf("insert txtn");
  gets(text);
  length=strlen(text);
  for(i=0; i<length; i  )
   {
    if(text[i]!=' ' amp;amp; text[i]!='.' amp;amp; text[i]!=',')
      {
        printf("%c", text[i]);
      if (text[i 1]=='') 
              count  ;
      }
   else
     {
        if(text[i-1]!=' ' amp;amp; text[i-1]!='.' amp;amp; text[i-1]!=',')
          {
            count  ;
            printf("n");
          }          
     }
   }
  printf("detect lenght of wich namen");
  for(i=0;i<x;i  );
  scanf("%s", amp;text);
  lengthv=strlen(vards);
  printf("n The lenght of name is %d", lengthv);
  getch();
  return 0;
 }
 

Комментарии:

1. Пожалуйста, сделайте правильный отступ в своем коде перед публикацией. Кроме того, опишите, что код печатает на практике, вместо того, чтобы просто говорить «это не работает».

2. И этот код не делает ничего, что вы хотите.

3. каков ваш актуальный вопрос? для входного имени: питер, и если номер ввода равен 2, вывод должен быть 2, а для входного номера 3 вывод должен быть 1 . Вы имеете в виду количество раз, когда символ встречается в строке?

4. кстати, вы имеете в виду, что количество третьего слова равно 2 или количество третьего символа равно 2?

5. мы не сможем вам помочь, если вы просто будете сидеть и слушать наши комментарии, а вместо этого попытаетесь ответить на них, чтобы ваша проблема была решена

Ответ №1:

Я не могу понять ваш код, но вот как я бы это сделал:

 #include <stdlib.h>
#include <stdio.h>

int main() {
  char text[200], whichText[200];
  int i=0, length, countWord=0, currWord=1, wordChars=0;

  // Get text input:
  printf("insert txtn");
  gets(text);
  length=strlen(text);

  // Get word to count:
  while(countWord == 0) {
    printf("Count which word?n");
    gets(whichText);
    sscanf(whichText, "%i", amp;countWord);
  }

  // Iterate through each character of the text input:
  for( i=0; i < length; i   ) {
    // Keep track of which word we are on, by counting spaces:
    if( text[i] == ' ' ) {
      currWord   ;
      continue;
    }
    // While we are on the desired word, count the characters:
    if( currWord == countWord )
      wordChars   ;
  }

  printf("Count of word %i is %i.n", countWord, wordChars);
  return 0;
}
 

Комментарии:

1. Спасибо, чувак, извини за мои ошибки, я серьезно болен, просто попытайся закончить свою домашнюю работу…