【发布时间】:2012-12-19 17:16:34
【问题描述】:
我想做一个程序,目的是统计段落中回文词的个数及其出现次数
规则和假设:
- 输入:用户可以输入包含尽可能多的句子的段落。每个字 用空格隔开,每个句子用句点隔开。
- 输出:在输入中找到的回文词列表,以及它的数量 发生。
- 单词之前或之后的标点将被忽略,而标点 里面的话会算的。回文也忽略字母大小写。 一种。我有一辆本田思域。 Civicis palindrome,词后的标点符号是 忽略。 湾。我的小弟弟正在睡觉。 li'l 不是回文,因为有一个 单词中的标点符号。
示例输入:
奥托想要养一只狗。他走上街,即将踏入宠物 当他看到门上挂着“禁止携带宠物踏入”的标志时,他就去商店了。奥托 在宠物店看到很多动物。他看到了鸟。他看到了松鼠。他 看到变色龙。他看到了狗。 “那条狗多少钱?”奥托说。 “十美元,”男人说。奥托给了那个男人腱。奥托买了狗。这 狗和奥托一起回家。现在奥托有一条狗。 “感谢上帝,现在我有了一只狗,”他 对自己说。
样本输出: 奥托 = 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
我想要这样的输出程序:
单词 Otto = 7,单词 A = 5,单词 Sees = 6
请修正我的输出结果...
【问题讨论】:
-
显示您的代码。除非您向我们展示您已经完成的工作,否则我们无法帮助您。
-
您需要为找到的每个回文存储一个唯一的计数。完成段落的迭代后,打印出你的发现
-
您能在代码中添加一些 cmets 吗?我很难理解这个算法。另外,代码是否正在编译,还是给出错误的输出?
-
如果这是作业,请适当标记。
-
@BrunoBrant,
homework标签已过时:stackoverflow.com/tags/homework/info
标签: c# palindrome