| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2277 人关注过本帖
标题:[讨论]更好方法
只看楼主 加入收藏
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
 问题点数:0 回复次数:53 
[讨论]更好方法

统计每一个字符个数(不限于26个字母).
例:
输入:abcdefgabcdeabc
输出:333221100000000
自己觉得效率不好,有什么更好方法请介绍。
#include<conio.h>
#include<stdio.h>
int main()
{
char a[80],b[80];
int i,j,k=0,n=0,m,l=0,g;
gets(a);
for(i=0;a[i]!=0;i++);
g=m=i;
while(m!=0)
{
for(j=0;j<m;j++)
{

if(a[0]!=a[j])
{b[n]=a[j];n++;}
else
{
k++;
}
}
printf("%d ",k);
b[n]=0;
for(j=0;b[j]!=0;j++)
a[j]=b[j];
m=j;
n=k=0;
l++;
}

for(i=0;g-l>i;i++)
printf("0 ");
printf("\n");
getch();
return 0;
}

[此贴子已经被作者于2006-11-2 20:28:51编辑过]

搜索更多相关主题的帖子: 统计 字母 include 
2006-10-30 20:47
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

怎么统计? 26个字母出现的个数?


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-30 20:56
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

从它引廷,也可以对其它各个字符出现的次数。


谁有强殖装甲第二部,可以Q我460054868
2006-10-30 21:05
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 10000
void Sort(char *);
void Swap (char *,char *);
void Statistics(char *ptr);
int main (void){
char arr[SIZE];

printf ("输入字符串:\n\n");

fgets(arr,SIZE,stdin);

fflush(stdin);

Sort(arr);

printf ("\n从小到大排序字符窜:\n");

printf ("\n%s\n",arr);

Statistics(arr);

exit(0);
}
/*统计函数*/
void Statistics(char *ptr){

int i,j,t=1;

char ch;

i=0;

j=i+1;

while (ptr[i]!='\0'){

ch=ptr[i];

t=1;

for (;ptr[i]==ptr[j];t++)

j++;

printf ("\n字符\'%c\'共有%d个.\n",ch,t); //输出遇到换行,表示回车('\n')或换行('\r')符

i=j;

j=i+1;
}

return ;

}
/*排序函数(从小到大)*/
void Sort (char *pt){

unsigned int i,j;

for (i=0,j=i+1;pt[j]!='\0';){

if (pt[i]<=pt[j])

j++ ;
else

Swap(pt+i,pt+j);

if (pt[j]=='\0'){

i++;

j=i+1;
}
}

return ;

}
/*交换值函数*/
void Swap(char *ptr,char *poi){

char temp;

temp=*ptr;

*ptr=*poi;

*poi=temp;

return ;
}
这个是以前我帮一个MM写的作业。

由于工作,N久都没来了!
2006-10-30 21:18
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
26小写字母
[CODE]#include <iostream>

using namespace std;

int f(char ch)
{
int tmp = ch - 'a';
if(tmp >=0 && tmp < 26)
return tmp;
else
return 26;
}

int main()
{
int count[27] = {0};
char ch;

while( (ch=cin.get()) != '\n' )
count[f(ch)]++;

for(int i=0; i<26; i++)
cout<<count[i]<<' ';
cout<<endl;

cin.get();
return 0;
}[/CODE]

2006-10-30 21:35
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
C++我不是很懂,但我多谢你。

谁有强殖装甲第二部,可以Q我460054868
2006-10-30 21:40
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
//统计英文字母
#include<stdio.h>
void main()
{
char c[30];
scanf("%s",c);
int a[26]={0};
for(int k=0;c[k]!='\0';k++)
for(int i=0;i<26;i++)
if(c[k]=='a'+i||c[k]=='A'+i)
a[i]++;
for(int j=0;j<26;j++)
printf("%c=%d ",'a'+j,a[j]);
}

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-30 21:47
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
好多谢大家,但大家好像无按题目要求。
例:
输入:abcdefgabcdeabc
输出:333221100000000

[此贴子已经被作者于2006-10-30 21:57:37编辑过]


谁有强殖装甲第二部,可以Q我460054868
2006-10-30 21:52
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

这样?

#include<stdio.h>
#include<string.h>
void main()
{
char c[30];
scanf("%s",c);
int a[26]={0};
for(int k=0;c[k]!='\0';k++)
for(int i=0;i<26;i++)
if(c[k]=='a'+i||c[k]=='A'+i)
a[i]++;
for(int j=0;j<strlen(c);j++)
printf("%d",a[j]);
putchar(10);
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-30 22:03
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
还不符合题意,我在VC。60下
#include<stdio.h>
#include<string.h>
void main()
{
char c[30];
scanf("%s",c);
int a[26]={0},n;
n=strlen(c);
for(int k=0;c[k]!='\0';k++)
for(int i=0;i<26;i++)
if(c[k]=='a'+i||c[k]=='A'+i)
a[i]++;
for(int j=0;j<n;j++)
printf("%d",a[j]);
putchar(10);
}

谁有强殖装甲第二部,可以Q我460054868
2006-10-30 22:16
快速回复:[讨论]更好方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025577 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved