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

如题。。。
正确答案给加分

修改了一下,更加直观。因为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));
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-13
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);
}
}

参考资料:我``

本回答被提问者和网友采纳
第2个回答  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));
第3个回答  2008-11-24
遍历字符串中的每个字符
如果可以转换为整形 那整形计数器++
如果转换为大写和他自己一样 那大写字母计数器++
如果转换为小写和他自己一样 那小写字母计数器++
但是如果有符号怎么办呢..
我继续观望....
相似回答