2011-10-25 2 views
0

Его домашняя работа, извините за это. Я не могу сделать работу программы для подсчета символов в слове, для примера:Программа, которая подсчитывает символы выбранного слова

  • я ввожу строку: Меня зовут питер
  • Программа спрашивает, какое слово обрабатывать ..
  • Вхожу количество: 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 txt\n"); 
    gets(text); 
    length=strlen(text); 
    for(i=0; i<length; i++) 
    { 
    if(text[i]!=' ' && text[i]!='.' && text[i]!=',') 
     { 
     printf("%c", text[i]); 
     if (text[i+1]=='\0') 
       count++; 
     } 
    else 
    { 
     if(text[i-1]!=' ' && text[i-1]!='.' && text[i-1]!=',') 
      { 
      count++; 
      printf("\n"); 
      }   
    } 
    } 
    printf("detect lenght of wich name\n"); 
    for(i=0;i<x;i++); 
    scanf("%s", &text); 
    lengthv=strlen(vards); 
    printf("\n The lenght of name is %d", lengthv); 
    getch(); 
    return 0; 
} 
+0

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

+0

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

+0

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

ответ

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 txt\n"); 
    gets(text); 
    length=strlen(text); 

    // Get word to count: 
    while(countWord == 0) { 
    printf("Count which word?\n"); 
    gets(whichText); 
    sscanf(whichText, "%i", &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; 
} 
+0

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

+0

Не беспокойтесь об этом , вам нужно как-то учиться. – Chriszuma