#include <stdio.h>
int main()
{
char str[256]
char *p
int upper = 0
int lower = 0
int space = 0
int digit = 0
int other = 0
p = str// P指针指向数组第一个元素 str[0]
gets(p)
while(*p) // P不为空的时候继续下面du的
{
if(*p>='A' &&*p<='Z') // 判断zhi是否为大写
{
upper++// 统计大写字母个数
}
else if(*p>='a' &&*p<='z') //是否为小写dao
{
lower++//统计小写个数
}
else if(*p == ' ') // 判断是否为“ ”
{
space++//统计个数
}
else if(*p>='0' &&*p<='9') // 判断是否为数字
{
digit++// 统计数字个数
}
else
{
other++//剩下的是其他字符的 统计个数
}
p++//指针后移
}
printf("upper = %d\n",upper)// 输出
printf("lower = %d\n",lower)// 输出
printf("space = %d\n",space)// 输出
printf("digit = %d\n",digit)// 输出
printf("other = %d\n",other)// 输出
return 0
}
扩展资料:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
代码如下:【备注】:1. 用str.split(',')只能分隔逗号一种;如果涉及到多重分隔的话就需要使用re.split(',|:')。2. 原字符串以逗号分隔的,后面有一个或多个字符串,所以re.split(', | ')。3. 执行re.split(r', | ', S)操作之后,列表中会产生大量的'',就需要将filter过滤掉。4. 使用L.count(x) == 1 或者 L.count(x) >1来保留重复项或,非重复项。5. set(L)则是保留列表中的唯一项,再用list()将其转换为列表。6. 使用', '.join(L),将列表拼接成我们想要的字符串。