我想做一个程序,旨在统计段落中回文单词的数量及其出现次数
规则和假设:
- 输入:用户可以输入包含尽可能多的句子的段落。每个单词用空格分隔,每个句子用句点分隔。
- 输出:在输入中找到的回文词列表及其出现次数。
- 单词之前或之后的标点将被忽略,而单词内部的标点将被计算在内。回文也忽略字母大小写。一个。我有一辆本田思域。Civicis palindrome,词后的标点符号被忽略。湾。我的小弟弟正在睡觉。li'l 不是回文,因为单词里面有一个标点符号。
样本输入:
奥托想养一只狗。他走上街,正要走进宠物店,就看到门上挂着“禁止携带宠物”的牌子。奥托在宠物店看到了很多动物。他看到了鸟。他看到了松鼠。他看到了变色龙。他看到了狗。“那条狗多少钱?” 奥托说。“十美元,”男人说。奥托给了那个男人腱。奥托买了狗。这只狗和奥托一起走回家。现在奥托有一条狗。“感谢上帝,我现在有了一只狗,”他对自己说。
样本输出: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++;
}
}
}
}
以及我的代码的输出结果,当我放段落时:
奥托想养一只狗。他走上街,正要走进宠物店,就看到门上挂着“禁止携带宠物”的牌子。奥托在宠物店看到了很多动物。他看到了鸟。他看到了松鼠。他看到了变色龙。他看到了狗。“那条狗多少钱?” 奥托说。“十美元,”男人说。奥托给了那个男人腱。奥托买了狗。这只狗和奥托一起走回家。现在奥托有一条狗。“感谢上帝,我现在有了一只狗,”他对自己说。
我的输出程序是:
otto 是回文 = 1 a 是回文 = 1 otto 是回文 = 1 sees 是回文 = 1
我想要这样的输出程序:
奥托词 = 7,词 A = 5,词 Sees = 6
请修复我的输出结果...