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

统计每一个字符个数(不限于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
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

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


谁有强殖装甲第二部,可以Q我460054868
2006-10-30 21:05
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
C++我不是很懂,但我多谢你。

谁有强殖装甲第二部,可以Q我460054868
2006-10-30 21:40
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
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
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

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


谁有强殖装甲第二部,可以Q我460054868
2006-10-30 22:30
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
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
unicorn版主晚安。

谁有强殖装甲第二部,可以Q我460054868
2006-10-31 21:21
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.017093 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved