Определить количество слов в строке, начинающихся и оканчивающихся одной и той же буквой - C#
Формулировка задачи:
Определить количество слов в строке, начинающихся и оканчивающихся одной и той же буквой.
Помогите пожалуйста написать программу. Желательно не сильно за мудрёную в стили вот этой:
Образец:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str1;
Console.WriteLine("Введите текст");
str1 = Convert.ToString(Console.ReadLine());
char[] m = str1.ToCharArray();
char a = '.';
int min = str1.Length;
for (int i = 0; i < str1.Length; i++)
{
if ((m[i] == a) & (i < min))
min = i;
}
int max = 0;
for (int j = 0; j < str1.Length; j++)
{
if ((m[j] == a) & (j > max))
max = j;
}
int b = max - min;
string str2 = str1.Substring(min + 1, b);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}Решение задачи: «Определить количество слов в строке, начинающихся и оканчивающихся одной и той же буквой»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace kznyaz
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите текст");
//string inputString = Console.ReadLine();
string inputString = "word1 wow lnjkdsndsl eejke a asafdgh";
// Всё решение здесь:
var words = from word in inputString.Split(null) // Разбивка по пробельным символам Юникода. Если нужны конкретные, пример приведён выше.
//where word.Length > 1 // если недопустимы слова из 1 буквы, включить эту строку
let start = word.First()
let end = word.Last()
where start == end
select word;
Console.WriteLine("В результате слов: {0}", words.Count());
foreach (var word in words)
{
Console.WriteLine(word);
}
}
}
}