编写程序实现功能:用户从键盘输入一行字符,分别统计出其英文字母和数字字符的个数
代码如下:
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
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;
}
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);
}