| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2277 人关注过本帖
标题:[讨论]更好方法
只看楼主 加入收藏
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
不行吗?
不是满足下面的样式嘛:

输入:abcdefgabcdeabc//字母串
输出:333221100000000//第一位置代表a出现的次数,第二个位置代表b出现的次数...以此类推?

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

行,不过是输入任意,输出这个形式。但版主的程序不符合,版主只是针对特殊。


谁有强殖装甲第二部,可以Q我460054868
2006-10-30 22:30
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
不是只输出26个字母出现的个数吗? 长度当然可以取决你自己喽c[N]

#include<stdio.h>
#include<string.h>
#define N 30
void main()
{
char c[N];
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(\"%d\",a[j]);
putchar(10);
}



难道第一行是任意字符..
第二行是任意字符出现个的个数?(顺序如何排列?ASCII表的顺序?)

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

统计每一个字符个数.
例:
输入: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;
}

你可以运我程序看看吧!
第一行是任意字符..
第二行是任意字符出现个的个数。
主要是前面,而后面想做也不错。
(顺序如何排列?ASCII表的顺序?)


谁有强殖装甲第二部,可以Q我460054868
2006-10-31 16:02
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
还有人回答吗?

谁有强殖装甲第二部,可以Q我460054868
2006-10-31 21:14
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
快熄灯了 有时间再看看 都忘了 呵呵

第一行:任意字符串
第二行:统计每种(依次出现)字符的个数

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

谁有强殖装甲第二部,可以Q我460054868
2006-10-31 21:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用C语言学习者在2006-10-30 21:52:26的发言:
好多谢大家,但大家好像无按题目要求。
例:
输入:abcdefgabcdeabc
输出:333221100000000

说实在话,我没看懂楼主的输出.后面的0是表示什么的个数.难道是统计完之后,后面补0填充.
比如输入:abcdgsfdjhdfhdfjdssk.
然后输出什么?如果是只是统计小写字母出现的次数,如果是没有出现的就用0填充的话,应该也不是很难.
a[26]={0};
while((c=getchar())!='\n')
{
a[c-'a']++;
}
for(i=0;i<26;i++)
{
printf("%d"a[i]);
}


倚天照海花无数,流水高山心自知。
2006-10-31 21:37
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

如果要处理所有字符,那就定义a[255]一样处理,不过觉得应该特别拿出一个字符作为结束的标志.
不知道是不是这样.


倚天照海花无数,流水高山心自知。
2006-10-31 21:40
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
nuciewth版主可以看我的程序就知道。

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



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

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