本文收集整理关于统计字符串中每个字符出现的次数的相关议题,使用内容导航快速到达。
内容导航:
Q1:c语言统计字符串中每个字符出现的次数
一、算法分析:
要统计每个字符出现的个数,那么就要为每个字符做一个统计值,可以用数组实现。
然后输入字符串。
遍历字符串,对每个字符进行统计。
输出结果。
二、参考代码:#includeintmain()
{
intcnt[128]={0};//用来统计个数。
charstr[200];//存储字符串。
inti;
gets(str);//输入字符串。
for(i=0;str[i]!=\0;++i)//遍历字符串。
cnt[str[i]]++;//统计个数。
for(i=0;i<128;i++)//遍历统计到的值。
if(cnt[i]!=0)//如果出现过则打印值,及个数。
printf("%c:%d\n",i,cnt[i]);//输出结果。
return0;
}
Q2:java如何统计字符串中每个字符出现的次数
正确答案:
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
String str = null;
try {
str = args[0];
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请输入参数!");
System.exit(0);
}
Map tree = new TreeMap();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if ((ch >= a && ch <= z)(ch >= A && ch <= Z)) {
if (!tree.containsKey(ch)) {
tree.put(ch, new Integer(1));
} else {
Integer in = (Integer) tree.get(ch) + 1;
tree.put(ch, in);
}
}
}
Iterator tit = tree.keySet().iterator();
while (tit.hasNext()) {
Object temp = tit.next();
System.out.print(temp.toString() + "(" + tree.get(temp) + ")");
}
}
}
Q3:java中怎么统计一个字符串中每个字符的出现次数?
操作如下:
String str ="2342asfghgyu56asdasda";Mapmaps = new HashMap();for(int i=0;iString key = String.valueOf((str.charAt(i)));if(!maps.containsKey(key)),maps.put(key, 1);else{int val =maps.get(key);maps.put(key, val+1);
for(Map.Entry i : maps.entrySet()){System.out.println(i.getKey()+ "=="+i.getValue());
具体方法:
package com.haotj.demo13;import java.util.Map;import java.util.Set;importjava.util.TreeMap;public class Test,public static void main(String[] args),String str。
"asdlkfjlaksdlkjfdsjlkazxcsdklfwuertiopwrljlflsdalxvclzjlksdfljklsdfuiafjdgllfdgdaslfsdjkldskfjdsl"; Mapmap = countChar(str);。
//遍历//1-Setset = map.keySet();for(Character key : set)System.out.println(key + "=" + map.get(key));//2-//Map中无迭代器,不能如下使用// for(Map.Entryme : map)// {// }Set> entrys = map.entrySet();。
for(Map.Entryme : entrys)System.out.println("===" + me.getKey() + "=" + me.getValue()/*** 统计一个字符串中,每个字符出现的次数。
* * @param str:被统计的字符串,* @return 记录了每个字符及对应该字符出现的次数,* @see [类、类#方法、类#成员]*/public static MapcountChar(String str)
//用于存放字符及对应次数。TreeMaptm = new TreeMap();//得到字符串中的每个字符for(int i = 0; i < str.length(); //取得字符串中每个字符,Character ch = str.charAt(i);
//在tm 对象中,判断该字符是否存在,//如果存在,则取得该key 对应的value 值,将value 值加1,再存入该集合对象,//如果不存在,则将该字符及1,存入到tm 中if(!tm.containsKey(ch)),else。
Q4:C语言编程:输入一字符串,统计字符串中各个字符出现的频率?
//统计一个文件里各个字符出现的次数,转换频率自己再加几句就是了,这里只统计了26个字母,如果还有更多的字符的话,将数组再扩大就行了,wW。W.yIjItAo.cOm应该比较简单,我就不写了
#include#includevoid stat(char *file,int *statistic)
{
int i=0;
while(file[i++]!=0)
statistic[file[i-1]-97]++;
}
int main()
{
char file[100]={0};
int statistic[26]={0};
int i=0,j;
double s=0;
FILE *fp;
if((fp=fopen("1.txt","r"))==NULL)
{
printf("cant open 1.txt");
return 1;
}
while(!feof(fp))
fread(&file[i++],1,1,fp);
fclose(fp);
j=i;
stat(file,statistic);
for(i=0;i<26;i++)
printf("%c:%d\n",97+i,statistic[i]);
return 0;
}
//在源程序目录下建立一个文本文件1.TXT,里面输入字符串,就可以进行统计了