编写程序实现功能:用户从键盘输入一行字符,分别统计出其英文字母和数字字符的个数

如题所述

代码如下:

s=input("请输入一行字符:\n")

alpha,num,space,other=0,0,0,0

for i in s:

    if i.isalpha():

        alpha+=1

    elif i.isdigit():

        num+=1

    elif i.isspace():

        space+=1

    else:

        other+=1

print('英文字符数{},数字字符数{},空格字符数{},其他字符数{}'.format(alpha,num,space,other))

扩展资料

字符串的函数应用:

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

5、求字符串长度 length(s) 例:length(‘12abc’)=5

在ASP中 求字符串长度用 len(s)例: len("abc12")=5

6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.

例:pos(‘ab’,’12abcd’)=3

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-11
#include <stdio.h>
int main(void)
{
char a[100];
scanf("%s",a);
int num = 0,ab = 0;

int i = 0;

while(a[i]!=0)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))

ab++;
else if(a[i]>='0'&&a[i]<='9')
num++;

}

printf("字母: %d,数字 %d\n",ab,num);

return 0;

}
第2个回答  2013-11-15
#include"stdio.h"
void main()
{int letters,space,digit,other;
letters=space=digit=other=0;
char c;
while((c=getchar()())!='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters ++;
else if(c>=0&&c<=9)
digit++;
else if(c==' ')
space++;
else
other++;}
printf("letters=%d space=%d digit=%d other=%d\n",letters,space,digit,other);
}
相似回答