嗨所以我有一些功课,目标是计算有多少单词,空格,大写和小写字母。但令我困惑的是,输出必须显示每个单独的字母A-Z a-z并且旁边有一个数字显示它出现的次数。在我的代码中,我真的不明白这一点。我只参加这个课程,所以我可以做思科网络,所以我不需要做微积分。这学期后我永远不会去编程。并且已经坚持了4个小时。任何帮助将不胜感激....即使你可以帮助我理解如何做到这一点的概念?谢谢。
我已经想到了这个
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int countedWords = 0, count = 0; //Declaring integers to be used
Console.WriteLine("Please enter a string\n");
string inputString = Console.ReadLine();
countedWords = inputString.Split(' ').Length; //counts words
Console.WriteLine("\nREPORT FOR: " + inputString + "\n");
Console.WriteLine("WORDCOUNT: " + countedWords);
foreach (char c in inputString) //counts number of uppercase letters
{
if (Char.IsUpper(c))
count++;
}
Console.WriteLine(count);
Console.ReadLine();
}
}
}
答案 0 :(得分:2)
由于这是作业 - 我会给你一个线索。
由于您需要对每个可能的字母进行计数,因此您可能需要考虑使用分组而不是迭代和计数来考虑此问题。这可以通过GroupBy处理。
答案 1 :(得分:1)
我要做的是创建一个包含26(或52)个整数的数组,将它们全部初始化为0,每次看到相应的字母时,都会增加相应的存储桶。您可以将其放入现有的foreach
。
对于显示,您只需遍历数组并打印它所代表的字母和该字母的实例数。
答案 2 :(得分:1)
制作一个结构 字母
制作列表,ListUpper,ListLower,ListSpace,ListOthers。 在遇到元素时加载列表,并在完成后显示。
不会为您编写代码:)
答案 3 :(得分:1)
这是一个开始。
首先,我会将你的每个声明放到一个新的行上,并使它们成为与它所用的相关的单词(如果它的小写计数器使变量名为lowerCase_Count等)IMO,因为它通常被认为是良好的实践,使您更容易阅读代码并对每个变量或对象的作用进行评论。
接下来,如果我理解你正确写了什么,他正在寻找这个代码来显示每一个的大小:大写字母,小写字母,空格(这只是我的空白或,等等?)和单词。他还希望列出每个字母出现在给定文本中的次数。
你所拥有的是一个良好的开端,我在你的foreach循环中添加了更多内容,如下所示:
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Declaring integers to be used
int countedWords = 0;
int cap_count = 0;
int lower_count = 0;
Console.WriteLine("Please enter a string\n");
string inputString = Console.ReadLine();
countedWords = inputString.Split(' ').Length; //counts words
Console.WriteLine("\nREPORT FOR: " + inputString + "\n");
Console.WriteLine("WORDCOUNT: " + countedWords);
foreach (char c in inputString)
{
//if is upper case add to cap_count
if (Char.IsUpper(c))
cap_count++;
//if char is a punctuation or white space ignore it else
// add as lower case
else if (!char.IsPunctuation(c) && !char.IsWhiteSpace(c))
lower_count++;
}
//display results.
Console.WriteLine("Number of Letters: " + (cap_count + lower_count));
Console.WriteLine("Number of capital Letters: " + cap_count);
Console.WriteLine("Number of lower case Letters: " + lower_count);
Console.WriteLine("Number of spaces: " + (countedWords - 1));
Console.ReadLine();
}
}
}
这应该是你完成其余部分的一个很好的起点。我希望这有助于。
答案 4 :(得分:0)
这是另一个提示:字符串中的每个字符都有一个数值,通常称为ASCII值*。您可以使用char
将字符串作为str.ToCharArray()
的数组获取。
* 完整性的注释,比原始海报需要的更详细。 C#中的字符串实际上存储为Unicode字符。但UTF-8的前128个字符映射到相应的ASCII字符,因此在这种情况下,差异并不重要。
答案 5 :(得分:-8)
Using system;
Using system.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int j = 0;
int k = 0;
int l = 0;
int m = 0;
int n = 0;
int o = 0;
int p = 0;
int q = 0;
int r = 0;
int s = 0;
int t = 0;
int u = 0;
int v = 0;
int w = 0;
int x = 0;
int y = 0;
int z = 0;
int A = 0;
int B = 0;
int C = 0;
int D = 0;
int E = 0;
int F = 0;
int G = 0;
int H = 0;
int I = 0;
int J = 0;
int K = 0;
int L = 0;
int M = 0;
int N = 0;
int O = 0;
int P = 0;
int Q = 0;
int R = 0;
int S = 0;
int T = 0;
int U = 0;
int V = 0;
int W = 0;
int X = 0;
int Y = 0;
int Z = 0;
int readChar = 0;
int word = 0;
int lower = 0;
int upper = 0;
string inputString ="";
char ch = ' ';
string findString = "";
int space = 0;
int startingPoint = 0;
int findStringCount = 0;
Console.Write("Please enter a string: ");
do{
readChar = Console.Read();
ch = Convert.ToChar(readChar);
if (ch.Equals(' '))
{
space++;
}
else if (Char.IsLower(ch))
{
lower++;
if (ch.Equals('a'))
{
a++;
}
else if (ch.Equals('b'))
{
b++;
}
else if (ch.Equals('c'))
{
c++;
}
else if (ch.Equals('d'))
{
d++;
}
else if (ch.Equals('e'))
{
e++;
}
else if (ch.Equals('f'))
{
f++;
}
else if (ch.Equals('g'))
{
g++;
}
else if (ch.Equals('h'))
{
h++;
}
else if (ch.Equals('i'))
{
i++;
}
else if (ch.Equals('j'))
{
j++;
}
else if (ch.Equals('k'))
{
k++;
}
else if (ch.Equals('l'))
{
l++;
}
else if (ch.Equals('m'))
{
m++;
}
else if (ch.Equals('n'))
{
n++;
}
else if (ch.Equals('o'))
{
o++;
}
else if (ch.Equals('p'))
{
p++;
}
else if (ch.Equals('q'))
{
q++;
}
else if (ch.Equals('r'))
{
r++;
}
else if (ch.Equals('s'))
{
s++;
}
else if (ch.Equals('t'))
{
t++;
}
else if (ch.Equals('u'))
{
u++;
}
else if (ch.Equals('v'))
{
v++;
}
else if (ch.Equals('w'))
{
w++;
}
else if (ch.Equals('x'))
{
x++;
}
else if (ch.Equals('y'))
{
y++;
}
else if (ch.Equals('z'))
{
z++;
}
}
else if (Char.IsUpper(ch))
{
upper++;
if (ch.Equals('A'))
{
A++;
}
else if (ch.Equals('B'))
{
B++;
}
else if (ch.Equals('C'))
{
C++;
}
else if (ch.Equals('D'))
{
D++;
}
else if (ch.Equals('E'))
{
E++;
}
else if (ch.Equals('F'))
{
F++;
}
else if (ch.Equals('G'))
{
G++;
}
else if (ch.Equals('H'))
{
H++;
}
else if (ch.Equals('I'))
{
I++;
}
else if (ch.Equals('J'))
{
J++;
}
else if (ch.Equals('K'))
{
K++;
}
else if (ch.Equals('L'))
{
L++;
}
else if (ch.Equals('M'))
{
M++;
}
else if (ch.Equals('N'))
{
N++;
}
else if (ch.Equals('O'))
{
O++;
}
else if (ch.Equals('P'))
{
P++;
}
else if (ch.Equals('Q'))
{
Q++;
}
else if (ch.Equals('R'))
{
R++;
}
else if (ch.Equals('S'))
{
S++;
}
else if (ch.Equals('T'))
{
T++;
}
else if (ch.Equals('U'))
{
U++;
}
else if (ch.Equals('V'))
{
V++;
}
else if (ch.Equals('W'))
{
W++;
}
else if (ch.Equals('X'))
{
X++;
}
else if (ch.Equals('Y'))
{
Y++;
}
else if (ch.Equals('Z'))
{
Z++;
}
}
if (((ch.Equals(' ') && (!inputString.EndsWith(" ")))||(ch.Equals('\r') && (!inputString.EndsWith(" "))))&&(inputString!=""))
{
word++;
}
inputString = inputString + ch;
} while (ch != '\r');
Console.ReadLine();
Console.WriteLine("Report on {0}",inputString);
Console.WriteLine("# of spaces {0}",space);
Console.WriteLine("# of lower {0}", lower);
Console.WriteLine("# of upper {0}", upper);
Console.WriteLine("# of word {0}", word);
Console.WriteLine("UPPERCASE");
if (A >= 1)
{
Console.WriteLine("A = {0}",A);
}
if (B >= 1)
{
Console.WriteLine("B = {0}",B);
}
if (C >= 1)
{
Console.WriteLine("C = {0}", C);
}
if (D >= 1)
{
Console.WriteLine("D = {0}", D);
}
if (E >= 1)
{
Console.WriteLine("E = {0}", E);
}
if (F >= 1)
{
Console.WriteLine("F = {0}", F);
} if (G >= 1)
{
Console.WriteLine("G = {0}", G);
}
if (H >= 1)
{
Console.WriteLine("H = {0}", H);
}
if (I >= 1)
{
Console.WriteLine("I = {0}", I);
}
if (J >= 1)
{
Console.WriteLine("J = {0}", J);
}
if (K >= 1)
{
Console.WriteLine("K = {0}", K);
}
if (L >= 1)
{
Console.WriteLine("L = {0}", L);
}
if (M >= 1)
{
Console.WriteLine("M = {0}", M);
}
if (N >= 1)
{
Console.WriteLine("N = {0}",N);
}
if (O >= 1)
{
Console.WriteLine("O = {0}",O);
}
if (P >= 1)
{
Console.WriteLine("P = {0}",P);
}
if (Q >= 1)
{
Console.WriteLine("Q = {0}",Q);
}
if (R >= 1)
{
Console.WriteLine("R = {0}",R);
}
if (S >= 1)
{
Console.WriteLine("S = {0}",S);
}
if (T >= 1)
{
Console.WriteLine("T = {0}",T);
}
if (U >= 1)
{
Console.WriteLine("U = {0}",U);
}
if (V >= 1)
{
Console.WriteLine("V = {0}",V);
}
if (W >= 1)
{
Console.WriteLine("W = {0}",W);
}
if (X >= 1)
{
Console.WriteLine("X = {0}",X);
}
if (Y >= 1)
{
Console.WriteLine("Y = {0}",Y);
}
if (Z >= 1)
{
Console.WriteLine("Z = {0}",Z);
}
Console.WriteLine("LOWERCASE");
if (a >= 1)
{
Console.WriteLine("a = {0}", a);
}
if (b >= 1)
{
Console.WriteLine("b = {0}", b);
}
if (c >= 1)
{
Console.WriteLine("c = {0}", c);
}
if (d >= 1)
{
Console.WriteLine("d = {0}", d);
}
if (e >= 1)
{
Console.WriteLine("e = {0}", e);
}
if (f >= 1)
{
Console.WriteLine("f = {0}", f);
} if (g >= 1)
{
Console.WriteLine("g = {0}", g);
}
if (h >= 1)
{
Console.WriteLine("h = {0}", h);
}
if (i >= 1)
{
Console.WriteLine("i = {0}", i);
}
if (j >= 1)
{
Console.WriteLine("j = {0}", j);
}
if (k >= 1)
{
Console.WriteLine("k = {0}", k);
}
if (l >= 1)
{
Console.WriteLine("l = {0}", l);
}
if (m >= 1)
{
Console.WriteLine("m = {0}", m);
}
if (n >= 1)
{
Console.WriteLine("n = {0}", n);
}
if (o >= 1)
{
Console.WriteLine("o = {0}", o);
}
if (p >= 1)
{
Console.WriteLine("p = {0}", p);
}
if (q >= 1)
{
Console.WriteLine("q = {0}", q);
}
if (r >= 1)
{
Console.WriteLine("r = {0}", r);
}
if (s >= 1)
{
Console.WriteLine("s = {0}", s);
}
if (t >= 1)
{
Console.WriteLine("t = {0}", t);
}
if (u >= 1)
{
Console.WriteLine("u = {0}", u);
}
if (v >= 1)
{
Console.WriteLine("v = {0}", v);
}
if (w >= 1)
{
Console.WriteLine("w = {0}", w);
}
if (x >= 1)
{
Console.WriteLine("x = {0}", x);
}
if (y >= 1)
{
Console.WriteLine("y = {0}", y);
}
if (z >= 1)
{
Console.WriteLine("z = {0}", z);
}
Console.WriteLine();
Console.Write("Please enter a substring ");
findString = Console.ReadLine();
if (findString.Length <= inputString.Length)
{
do
{
if (inputString.IndexOf(findString, startingPoint) != -1)
{
findStringCount++;
startingPoint = inputString.IndexOf(findString, startingPoint) + findString.Length;
}
} while (inputString.IndexOf(findString, startingPoint) != -1);
}
else
{
Console.WriteLine("Substring is too long!");
}
Console.WriteLine("The number of times that {0} is found in the text is {1}", findString, findStringCount);
Console.ReadLine();
}
}
}