Строка: во вводимом с клавиатуры тексте выбрать слова, заканчивающиеся согласной буквой, и вывести их на экран - C (СИ)
Формулировка задачи:
Есть задание :
Написать программу, которая во вводимом с клавиатуры тексте выберет слова, заканчивающиеся согласной буквой, и выведет их на экран.
Написал код, но при запуске, после введения строки программа зависает
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <vector>
#include <string>
#include <cmath>
#include <queue>
#include <deque>
#include <set>
#include <map>
int main () {
char* s[10000];
int i,n = 0, k = 0;
scanf("%c", &s);
while (*s[i] != '/0'){
if (int(*s[i]) == 32){
if ((*s[i-1] != 'A') || (*s[i-1] != 'E') || (*s[i-1] != 'I') || (*s[i-1] != 'O') ||
(*s[i-1] != 'U') || (*s[i-1] != 'a') || (*s[i-1] != 'e') || (*s[i-1] != 'i') ||
(*s[i-1] != 'o') || (*s[i-1] != 'u')) {
for (int j = k; j = i-1; j++){
printf("%s", *s[i]);
}
}
k = i + 1;
}
i++ ;
}
printf("%d", &n);
system("pause");
return 0;
}Решение задачи: «Строка: во вводимом с клавиатуры тексте выбрать слова, заканчивающиеся согласной буквой, и вывести их на экран»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define VAL 100
void fill_arr(char[], int, int);
void print_consend(char[]);
int main(void) {
char arr[VAL] = {0};
fill_arr(arr, VAL, '\n');
print_consend(arr);
return 0;
}
void fill_arr(char arr[], int number, int mark) {
int i;
for (i=0; mark != (arr[i]=getchar()) && i < number-1; i++)
;
arr[i]=0;
}
void print_consend(char arr[]) {
char *runner, *saver;
int rc;
char str[] = "bcdfghjklmnpqrstvwxz";
runner = saver = arr;
rc = 0;
while (1) {
switch (*(runner+rc)) {
case '.':
case ',':
case '?':
case '!':
case ':':
case ';':
case ' ':
if (strchr( str, tolower(*(runner+rc-1)))) {
saver = runner+rc-1;
while (runner<=saver)
putchar(*(runner++));
putchar('\n');
}
rc = 0;
runner++;
break;
case '\0':
if (strchr( str, tolower(*(runner+rc-1)))) {
saver = runner+rc-1;
while (runner<saver)
putchar(*(runner++));
}
return;
default :
rc++;
}
}
}