C#写程序,统计所给字符串中字母的个数、数字的个数和大写字母的个数

编写程序,统计所给字符串中字母的个数、数字的个数和大写字母的个数

如题,,正确答案给加分

using System;
class test
{
static void Main()
{
Console.Write("请输入字符串:");
string s=Console.ReadLine();

int a1=0; // 申明3个变量记录它们三个的个数;
int b1=0;
int c1=0;

foreach (char c in s) //字符c遍历数组中的所有字符;
{
if (char.IsUpper(c)) //是否为大写 如大写计数器加1;
{
c1++;
}
else if (char.IsLetter(c)) //是否为小写 如小写计数器加1;
{
a1++;
}
else if(char.IsDigit(c)) //是否为数字 如数字计数器加1;
{
b1++;
}
}
Console.WriteLine("数字有:"+b1+"\n小写字母有:"+a1+"\n大写字母有:"+c1);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-24
int a = 0, b = 0, c = 0;
string str = "dcd4524DCdcdZ4dDE4d7e";
foreach (char ch in str)
{
int i = (int)ch;
if(i>96&&i<123) //如果是小写字母
{
a+=1;
}
else if (i > 64 && i < 91) //如果是大写字母
{
b += 1;
}
else if (i > 47 && i < 58) //如果是数字
{
c += 1;
}
}
Response.Write(string.Format(@"小写字母个数是{0},大写字母个数是{1},数字个数是{2}",a,b,c));
第2个回答  2008-11-24
修改了一下,更加直观。因为C#中Char是可以隐式转换为int的,所以,用char而不是对应的code去比较更好懂一些。

int a = 0, b = 0, c = 0;
string str = "dcd4524DCdcdZ4dDE4d7e";
foreach (char ch in str)
{
if(ch>('a'-1)&&ch<('z'+1)) //如果是小写字母
{
a+=1;
}
else if (ch > ('A'-1) && ch < ('Z'+1)) //如果是大写字母
{
b += 1;
}
else if (ch > ('0'-1) && ch < ('9'+1)) //如果是数字
{
c += 1;
}
}
Response.Write(string.Format(@"小写字母个数是{0},大写字母个数是{1},数字个数是{2}",a,b,c));
相似回答