+ -
当前位置:首页 → 问答吧 → 统计字符串中数字出现的频度问题

统计字符串中数字出现的频度问题

时间:2011-11-28

来源:互联网

entered is: Hogeschool Enschede
output : 3314223331141223414

看是 每个字符下都对应他的频数;

而且 频数那一栏 很显然要放入一个数组 n[],输入的那个放在str[];
这是网上写的统计频数的函数 但我觉得不好 不适合我的程序要求 

void detect(char s[])
{
 char ch[MAX];/*记录出现的字符*/
 int num[MAX]={0};/*记录每个字符出现的次数*/
 int i,j,n=0;
 for(i=0;s[i]!='\0';i++)
 {
  for(j=0;j<n;j++)
  if(s[i]==ch[j]||(ch[j]>='a'&&ch[j]<='z'&&s[i]+32==ch[j])) break;/*判断该字符是否已经出现过*/
  if(j<n)/*该字符出现过,对应的记数器num[j]加一*/
  num[j]++;
  else/*该字符是新出现的字符,记录到ch[j]中,对应计数器num[j]加一*/
  {
  if(s[i]>='A'&&s[i]<='Z')
  ch[j]=s[i]+32;
  else
  ch[j]=s[i];
  num[j]++;
  n++;/*出现的字符的种类数加1*/
  }
 }
注 我要每个字符下都要对应他的频数 不管是出现过的还是没出现过的 怎么计算的 各位写个统计函数把
另 且最后放频数的数组应该是个指针,因为最后需要Output()来输出 谢谢大家了

作者: eaur999   发布时间: 2011-11-28

关注该贴

作者: shenchenman   发布时间: 2011-11-28