首页 > 其他分享 >CP1024 单词切分

CP1024 单词切分

时间:2023-01-05 23:00:10浏览次数:35  
标签:存储 int CP1024 单词 切分 字符串 100 include

又是一道小题,(但是也不是空格作为分割符,范围更广)本质上还是连续字符串,又考了判断嵌套啊

俺的做法:

#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
    char a[100];//用于存储刚开始的字符串
    char b[100][100];//用于存储切分出来的单词
    int k=0,j=0;//计数器
    gets(a);
    for(int i=0; a[i]!='\0'; i++) //字符串遍历
    {
        if(a[i]==' '||a[i] =='1'||a[i] =='2'||a[i] =='3'||a[i] =='4'||a[i] =='5'||a[i] =='6'||a[i] =='7'||a[i] =='8'||a[i] =='9'||a[i] =='0')//判断是不是字母
        {
            if(a[i+1]==' '||a[i+1] =='1'||a[i+1] =='2'||a[i+1] =='3'||a[i+1] =='4'||a[i+1] =='5'||a[i+1] =='6'||a[i+1] =='7'||a[i+1] =='8'||a[i+1] =='9'||a[i+1] =='0')//判断第二个是不是字母,防止误杀友军
            {
               continue;//是的话过掉,下一个
            }
            else
            {
                k++;//反之则另起一行继续存储
            }

        }
        else//存储单词
        {
            if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))//防止把标点放进去
            {
                b[k][j]=a[i];//存储单词
                j++;
            }
        }
        b[k][j]='\0';//加上结束符,很重要,不能少
    }
    int y;
    for(int i=0; i<=k; i++)
    {
        for(y=0; y<j; y++)
        {
            if(b[i][y]!='\0')//这个是去掉前面的多余的东西
            {
                printf("%c",b[i][y]);
            }
        }
        printf("\n");
    }
    return 0;
}
很有意思的题目,但我的方法还是太笨了,下次再试试指针之类来做,还有二维字符串也得试试。

标签:存储,int,CP1024,单词,切分,字符串,100,include
From: https://www.cnblogs.com/harumakigohan686/p/17029085.html

相关文章

  • 算法刷题 Day 8 | 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转
    今日任务反转字符串反转字符串II剑指Offer05.替换空格翻转字符串里的单词剑指Offer58-II.左旋转字符串详细布置344.反转字符串建议:本题是字符串基......
  • CP1023 单词首字母大写
    一道卡了我好几天的题目(题干绝不是你看起来的这么简单,因为并不是简单的空格判定)我的做法:#include<stdio.h>#include<ctype.h>#include<string.h>#defineMAX_NUM1......
  • 代码随想录day8 LeetCode 344 反转字符串 541反转字符串II 剑指 Offer 05. 替换空格
    344反转字符串https://leetcode.cn/problems/reverse-string/双指针classSolution{public:voidreverseString(vector<char>&s){intleft=0;intri......
  • 7-3 统计一行文本的单词个数 (15 point(s))
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一......
  • 蓝桥真题——单词分析
    题目单词分析标签:字符串暴力2020省赛代码importosimportsys#请在此输入您的代码words=list(input())m=0m_word=''words.sort()foriinwords:......
  • 【LeeCode】58. 最后一个单词的长度
    【题目描述】给你一个字符串 ​​s​​,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的......
  • GitHub关于时间单位的单词速记表
    音标GitHub[ɡɪthʌb]GitLab[ɡɪtlæb]时间一月Jan/January二月Feb/February三月Mar/March四月Apr/April五月May六月Jun/June七月Jul/July八月Aug......
  • leetcode-557. 反转字符串中的单词 III
    557.反转字符串中的单词III-力扣(Leetcode)与代码[[leetcode-541.反转字符串II]]相关联,swapStrBytes函数,使用了上次的代码funcreverseWords(sstring)string{......
  • java初学者常用单词
    public公开的static静态的class类void不返回任何值main主方法名称system系统string字符串args参数out输出print打印println......
  • [JZOJ3852] 单词接龙
    DescriptionBsny从字典挑出N个单词,并设计了接龙游戏,只要一个单词的最后两个字母和另一个单词的前两个字母相同,那么这两个单词就可以有序的连接起来。Bsny想要知道在所给的......