| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1567 人关注过本帖
标题:哪位大神帮帮我!!求输入字符串统计方法以及代码。谢谢
只看楼主 加入收藏
威威猫
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-9-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
哪位大神帮帮我!!求输入字符串统计方法以及代码。谢谢
统计从键盘输入字符串(只包含"A~Z)中各字符出现次数,格式显示为kX(k为次数,X为字符),eg:
输入:AABBCCC
输出:2A2B3C
搜索更多相关主题的帖子: 输入 字符串 统计 方法 代码 
2017-09-24 16:43
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:2 
不难,自己动动手就可以。
2017-09-24 20:22
威威猫
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-9-24
收藏
得分:0 
回复 2楼 吹水佬
这是我写的,但是不对。
include <stdio.h>
int main(){
int i,x=0,N,j;
    char a[100];
    scanf("%d",&N);
    while(N--)
    {
    scanf("%s",a);
        for(i=0;i<=100;i++)
         for(j=0;j<=100;j++)
        {
            if(a[i]==a[j])
                x++;
    printf("%s\n",a);
    printf("%d%c\n",x,a[i]);
    x=0;
        }
    }
    return 0;
}
不知道用什么方法可以避免重复计算过的字符。。。能帮忙看看吗,刚学没多久。。谢谢
2017-09-24 21:29
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:11 
回复 3楼 威威猫
#include <stdio.h>
int main()
{
    int i,N;
    char a[100],b[26];
    scanf("%d",&N);
    while(N--)
    {
        for(i=0; i<26; ++i) b[i]=0;
        scanf("%s",a);
        for(i=0; a[i]; ++i)
            if (a[i]>='A' && a[i]<='Z')
                ++b[a[i]-'A'];
        for(i=0; i<26; ++i)
            if (b[i])
                printf("%d%c", b[i], 'A'+i);
        printf("\n");
    }
    return 0;
}
收到的鲜花
  • 威威猫2017-09-25 18:29 送鲜花  2朵   附言:很好的方法,很适合我
2017-09-24 22:28
m15962977275
Rank: 2
等 级:论坛游民
威 望:2
帖 子:31
专家分:58
注 册:2017-7-31
收藏
得分:7 
#include"stdio.h"
/*定义一个读字符函数*/
int c=1;
void ReadCharacter(char str[])
{
    int i=1;
    scanf("%c",&str[0]);
    while(str[i-1]!='!')
    {
      scanf("%c",&str[i]);
      i=i+1;
      c=c+1;
    }
}

void count(int b[],char str[])
{
   int i;
   for(i=0;i<=c;i++)
       b[str[i]]+=1;
}


void printfresult(int b[])
{
  int i;
  for(i='A';i<='Z';i++)
  {
    if(b[i]!=0)
        printf("%d个%c\n",b[i],i);
  }
}
int main()
{
   int i;
   char str[127];
   int b[127]={0};
   FILE *fp;
   fp=fopen("c://my answer.txt","w");
   printf("please input your character:\n");
   fprintf(fp,"please input your character:\n");
   ReadCharacter( str);
   count(b,str);
   printf("结果\n");
   printfresult(b);
   fclose(fp);
   return 0;
}
2017-09-25 14:48
威威猫
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-9-24
收藏
得分:0 
回复 4楼 吹水佬
谢谢!谢谢!!这个方法很适合我
2017-09-25 18:30
威威猫
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-9-24
收藏
得分:0 
回复 5楼 m15962977275
这个有点难理解,我尝试去解读下。谢谢!!
2017-09-25 18:31
m15962977275
Rank: 2
等 级:论坛游民
威 望:2
帖 子:31
专家分:58
注 册:2017-7-31
收藏
得分:0 
就是输入你想要的字符串以!+回车为结束输出就行了。这个里面的文件指针你可以不用看,因为我要考试了,所有顺便练着玩的。
2017-09-26 18:49
快速回复:哪位大神帮帮我!!求输入字符串统计方法以及代码。谢谢
数据加载中...
 
   



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

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