#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. Спасибо, чувак, извини за мои ошибки, я серьезно болен, просто попытайся закончить свою домашнюю работу…