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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

参考技术A 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));
参考技术B 修改了一下,更加直观。因为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));

用python写程序实现:输入一字符串,分别统计其中的英文字母个数,空格、数字和其他字符。

参考技术A wz="计量单位是指根据约定定义和采用的标量,任何其他同类量可与其比较使两个量之比用一个数表示。计量单位具有根据约定赋予的名称和符号。"
for i in wz:
print("%s出现:%d次"%(i,wz.count(i)))
参考技术B
import string
def chartype(ch):
    if ch in string.ascii_letters: return 'ascii_letters'
    elif ch in string.digits: return 'digits'
    elif ch in string.whitespace: return 'whitespace'
    else: return 'other'

def iterchtypecount(s):
    counter = 
    for c in s:
        counter.setdefault(chartype(c), []).append(c)
    for t, lst in counter.items():
        yield t, len(lst)

for chtype, cnts in iterchtypecount(raw_input("Enter a string: ")):
    print chtype, cnts

追问

能简单点吗,我刚开始学python,看不懂

追答# coding: utf-8

import string

def chartype(ch):
    """字符类型判断"""
    if ch in string.ascii_letters: return 'ascii_letters'
    elif ch in string.digits: return 'digits'
    elif ch in string.whitespace: return 'whitespace'
    else: return 'other'
 
def chtypecount(s):
    """字符串类型计数器"""
    counter = 
    for ct in map(chartype, s):
        counter.setdefault(ct, 0)
        counter[ct] += 1
    return counter

for chtype, cnts in chtypecount(raw_input("Enter a string: ")).items():
    print chtype, cnts

参考技术C python中有些内置函数很逆天的。 参考技术D 有内置函数的 第5个回答  2015-01-15 判断ascii码应该就可以了、、

以上是关于C#写程序,统计所给字符串中字母的个数、数字的个数和大写字母的个数的主要内容,如果未能解决你的问题,请参考以下文章

用python写程序实现:输入一字符串,分别统计其中的英文字母个数,空格、数字和其他字符。

C++ 输入一行字符,分别统计出其中英文字母个数~~

python学习-写函数,计算传入字符串中数字字母空格] 以及 其他的个数

Python接收输入一个字符串,统计其中小写字母的个数

怎么统计输入的一个字符串中每个字母出现的次数?

编写一个c程序,输入一个字符串,统计各个字符出现的次数