Из слов исходной строки удалить все символы, стоящие на нечетных местах - C (СИ)
Формулировка задачи:
Дана строка, содержащая слова, разделенные одним или несколькими разделительными символами (пробелами, табуляторами), в начале строки и в конце строки также могут находиться разделительные символы. Сформировать новую строку, в которой из слов исходной строки удалены все символы, стоящие на нечетных местах. Слова в новой строке разделяются одним пробелом. В начале строки и в конце строки не должно быть разделительных символов.
Решение задачи: «Из слов исходной строки удалить все символы, стоящие на нечетных местах»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main () {
char *token, buf[81],*separators = "\t,.:;!? ";
strcpy (buf," mama\tmila, ramu milom! Mila Ramu ne razbila.");
token = strtok(buf, separators);
while(token != NULL) {
for (int i=0; i<strlen(token); i+=2) printf ("%c",token[i]);
//если 0 - "чётная" позиция и отсчёт символов в слове ведётся с нуля, иначе немного поменять цикл
token = strtok(NULL, separators);
if (token) printf (" ");
}
getchar(); return 0;
}