「已注销」 2022-02-17 21:34 采纳率: 81%
浏览 87
已结题

c语言标签计数简单运用

喵喵在开发一个新式的社交网络,现在她想要写一个模块来处理文本并计算其中不同标签的数量。

文本由小写英文字母,数字,符号 # 以及空格四种字符组成。我们把若干个连续的非空格字符定义成一个词,词的左右两边要么是空格要么就是文本的开头或者结尾。若一个词的长度大于 1 ,第一个字符是 # 而其它的字符都不是 #,那我们称这个词是一个标签。

现在喵喵想计算文本中出现的不同标签的数量,并将其打印出来。

输入格式:
在一行中输入一个长度不超过 10
5
的字符串 str 表示要处理的文本

输出格式:
先在一行中输出一个整数 n,代表文本中出现的不同标签的个数

接下来 n 行,每行打印一个标签和这个标签出现的次数

标签可以按任何顺序打印

输入样例:
i have brought #peace #freedom #justice and #security to my new empire
输出样例:
4
#freedom 1
#justice 1
#peace 1
#security 1
输入样例:
#to #be #or #not #to #be
输出样例:
4
#be 2
#not 1
#or 1
#to 2

  • 写回答

1条回答 默认 最新

  • piaoyiren 2022-02-17 23:05
    关注

    做了一半 ,剩下的如何计数用什么做谁会

    #include <stdlib.h>
    #include<string.h> 
    #include<stdio.h>
    int main()
    {
        char zifu[1000];
        char results[100][1000];
        gets(zifu);
        int num=0,m=0,i=0,j=0,flag=1;
        if(zifu[0]!='#'){
               flag=0;
        }
        for(i=0;i<strlen(zifu);i++){
            
            if(' '==zifu[i]){
                printf("\n"); 
                m=0;
                if(i<(strlen(zifu)-1)&&zifu[i+1]!='#'){flag=0;
                    //num++;
                }else if(zifu[i+1]=='#'){
                    num++;flag=1;
                }
                
                continue;    
            } else {
                if(flag==1){
                    results[num][m]=zifu[i];
                    m++;
                }
            }
            
            
        }
        for(j=1;j<=num;j++){//
            if(strlen(results[j])>=2&&results[j][0]=='#'){
                printf("%s\n",results[j]);
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP