Дана строка символов, которая обязательно заканчивается символом точки. Удалить из строки первые буквы каждого слова.
Примечание: написать программу с использованием стандартных функций библиотеки С++.
Ниже приведен код для этой задачи. Код самый простой и может усовершенствоваться (например разбиение его на несколько отдельных функции). В очередной раз мы благодарим Василия Шуверова за его код.
#include <stdio.h> #include <stdlib.h> #include<string.h> int main () { char a[50000], s[50000]; char b; int n=0,d=1,i,j=0; printf("Enter the string and finish it with point:\n\n"); /*ввод предложения */ do { b=getchar(); a[n]=b; ++n; } while (b!= '.'); --n; printf("\nSo looks the input string without the first letters of each word:\n\n"); /*заполнение массива не начальными буквами каждого слова*/ for (i=0;i<n;++i) { if (d) { a[i]=0; d=0; continue; } if (a[i]==' ') { d=1; } if (a[i] != '0') { s[j]=a[i]; ++j; } } /*вывод предложения на экран */ for (i=0;i<j;++i) printf("%c", s[i]); return 0; }
Результат работы программы говорит сам за себя:
CppStudio.com
Enter the string and finish it with point: Crystal Method. So looks the input string without the first letters of each word: rystal ethod
Комментарии
YourSpace_tym
k1llama