段落内の回文語の数とその出現回数を数えるプログラムを作りたい
ルールと仮定:
- 入力: ユーザーは、できるだけ多くの文を含む段落を入力できます。各単語は空白で区切られ、各文はピリオドで区切られます。
- 出力: 入力で見つかった回文語のリストとその出現回数。
- 単語の直前または直後の句読点は無視されますが、単語内の句読点はカウントされます。回文は大文字と小文字も無視します。を。ホンダ シビックを所有しています。Civicis 回文、単語の後の句読点は無視されます。b. 私の弟は眠っています。li'l は回文ではありません。単語の中に句読点があるからです。
サンプル入力:
オットーは犬を飼いたがっています。彼が通りを歩いてペットショップに足を踏み入れようとすると、ドアに掛かっている「ペットを踏まないでください」と書かれた看板が見えます。オットーはペットショップでたくさんの動物を見ます。彼は鳥を見ます。彼はリスを見ます。彼はカメレオンを見ます。彼は犬を見ます。「犬の値段は?」オットーは言います。「10ドル」と男は言います。オットーは男に腱を与える。オットーは犬を買います。犬はオットーと一緒に家に帰ります。今、オットーは犬を飼っています。「神に感謝します。今、私は犬を飼っています」と彼は独り言を言います。
サンプル出力: Otto = 7 A = 5 Sees = 6
私のコードは:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PalindromeProgram
{
class Program
{
static void Main(string[] args)
{
int i = 0;
Console.WriteLine("Enter a String");
string s = Console.ReadLine();
string words = s.ToLower();
string[] hasil = words.Split(' ');
foreach (string temp in hasil)
{
string str = string.Empty;
int x = temp.Length;
for (int y = x - 1; y >= 0; y--)
{
str = str + temp[y];
}
int count = 0;
if (str == temp)
{
count++;
Console.WriteLine(temp + " is palindrome = " + count);
}
i++;
}
}
}
}
そして私のコードの出力結果、paragraphtを入れたとき:
オットーは犬を飼いたがっています。彼が通りを歩いてペットショップに足を踏み入れようとすると、ドアに掛かっている「ペットを踏まないでください」と書かれた看板が見えます。オットーはペットショップでたくさんの動物を見ます。彼は鳥を見ます。彼はリスを見ます。彼はカメレオンを見ます。彼は犬を見ます。「犬の値段は?」オットーは言います。「10ドル」と男は言います。オットーは男に腱を与える。オットーは犬を買います。犬はオットーと一緒に家に帰ります。今、オットーは犬を飼っています。「神に感謝します。今、私は犬を飼っています」と彼は独り言を言います。
私の出力プログラムは次のとおりです。
otto は回文 = 1 a は回文 = 1 otto は回文 = 1 sees は回文 = 1
次のような出力プログラムが必要です。
単語 Otto = 7、単語 A = 5、単語 Sees = 6
出力結果を修正してください...