1、单纯用数组来解题

思路:从左往右循环,每次碰到一个字符就和左边的字符串比较,如果有相同的就右移,如果没有找到相同的就从这个位置向右统计个数并输出。

 #include<stdio.h>

 void calCount(char arr[])
{
int i,j,count,had;
i = j = count = had = ;
while(arr[i] != '\0')
{
count = ;
had = ;
for(j=; j<i; j++)
{
if(arr[j] == arr[i])
{
had = ;
break;
}
}
if(had == )
{
i++;
continue;
}
else
{
count++;
j = i+;
while(arr[j] != '\0')
{
if(arr[j] == arr[i])
count++;
j++;
}
printf("%c%d,",arr[i],count);
}
i++;
}
} int main(void)
{
char arr[];
scanf("%[^.]", arr);//接收任何字符,碰到'.'就结束,
printf("%s\n", arr);
calCount(arr);
return ;
}

2、用ASCII码来计算

 #include<stdio.h>

    void getChCount(char *p)
{
char arr[] = {};
int i;
while(*p != '\0')
{
arr[*p]++;
p++;
}
for(i=; i<; i++)
{
if(arr[i] > )
printf("%c%d\n",i,arr[i]);
}
} int main(void)
{
char brr[];
scanf("%[^.]",brr);//遇到字符.停止接收字符
getChCount(brr);
return ;
}

c 统计字符串中字符出现的个数的更多相关文章

  1. 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符“A”的个数,并将结果显示在屏幕上。

    问题 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符"A"的个数,并将结果显示在屏幕上. 代码 data ...

  2. String/StringBuilder 类 统计字符串中字符出现的次数

    1.1. 训练描述:[方法.String类] 一.需求说明:定义如下字符串: String str = “javajfiewjavajfiowfjavagkljjava”; 二.请分别定义方法统计出: ...

  3. java源码——统计字符串中字符出现的次数

    对于任意输入的一段字符串,读取并且计算其中所有字符出现的次数. 使用HashMap存储字符和其对应的出现的次数,输出时,对HashMap进行遍历. 难点在于对HashMap的遍历,第一次使用,也是学习 ...

  4. python统计字符串中字符个数

    str = "xxx" result = {} for i in set(str):#set将字符串转为集合对象,用于去重,减少计算量 result[i] = str.count( ...

  5. 1093. Count PAT’s (25)-统计字符串中PAT出现的个数

    如题,统计PAT出现的个数,注意PAT不一定要相邻,看题目给的例子就知道了. num1代表目前为止P出现的个数,num12代表目前为止PA出现的个数,num123代表目前为止PAT出现的个数. 遇到P ...

  6. 统计字符串中字符出现的次数(||和&&的区别)

    var str = "ProsperLee"; // || 返回第一个为真的表达式的值,若全为假则返回最后一个表达式的值 // && 返回第一个为假的表达式的值,若 ...

  7. js 统计字符串中字符出现的次数

    var str='abbcccdddd';var obj={};for(var i=0;i<str.length;i++){ var key=str.charAt(i); if(obj[key] ...

  8. JAVA 统计字符串中中文,英文,数字,空格的个数

    面试题:输入一行字符,分别统计出其中英文字母.中文字符.空格.数字和其它字符的个数 可以根据各种字符在Unicode字符编码表中的区间来进行判断,如数字为'0'~'9'之间,英文字母为'a'~'z'或 ...

  9. javascript 统计字符串中每个字符出现的次数

    var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;"; // console.log(nu ...

随机推荐

  1. Couldn't read row 0, col -1 from CursorWindow

    java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Curso ...

  2. CSS自学笔记(5):CSS的样式

    CSS中拥有各种各样的样式表,而基本的样式有背景,文本,字体,链接,列表,表格,轮廓. 一.CSS-背景 CSS中允许用纯色背景,也允许用图片来创建复杂的个性背景. p {background-col ...

  3. jQuery中find()和filter()的区别

    filter(expr):筛选出与指定表达式匹配的元素的元素集合,其中expr可以是多个选择器的组合.是对自身集合元素的筛选. find()会在元素内寻找匹配元素,而filter()是筛选元素:是对它 ...

  4. select option 下拉多选单选bootstrap插件使用总结2

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. DZY的根(思维水)

    DZY的根[问题描述]DZY是个没有根的人,他十分想要有根,这样才能...智商爆表的计算机大神WJC决定再帮帮他,他用程序制造了N个根——有生命的根!这N个根和WJC一样都十分机智,他们要参加国际象棋 ...

  6. inotify

    inotify,文件系统控制函数,通知机制: ioctl, io控制函数

  7. MongoDB 启动异常

    今天启动MongoDB遇到异常状况 mongodb warning: 32-bit servers don't have journaling enable 解决方法: 删除数据库目录的.lock文件 ...

  8. PHP删除HTMl标签

    /** * 取出html标签 * * @access public * @param string str * @return string * */ function deletehtml($str ...

  9. 如何为你的美术妹子做Unity的小工具(二)

    你想像这样一样  为自己的Unity 小工具打开一个Unity的窗口吗?   看起来就很厉害对不对   妹子看了还不激动吗 ?!

  10. BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )

    状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...