Найти слово и удалить его из текста - C (СИ)
Формулировка задачи:
Удалить из текста слово, содержащее наибольшее количество гласных. Разработать программу позволяющую осуществлять ввод строк с клавиатуры или считывание их из файла данных с выводом на экран
Решение задачи: «Найти слово и удалить его из текста»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char* str_maxwvs(char* s){
int n, k = 0;
char* p, *f = NULL, *l = NULL, *t = s;
const char vs[] = "aeiouyAEIOUY";
while(*s){
while(*s && ! isalpha(*s))
++s;
p = s;
n = 0;
while(isalpha(*p)){
if(strchr(vs, *p) != NULL)
++n;
++p;
}
if(n > k){
k = n;
f = s;
l = p;
}
s = p;
}
if(f != NULL)
strcpy(f, l);
return t;
}
int main(void){
char s[128] = "matching symbolic information found";
/*
printf("enter str: ");
fgets(s, sizeof(s), stdin);
fflush(stdin);
*/
puts(s);
puts( str_maxwvs(s) );
/* getchar();*/
return 0;
}