文章

10

粉丝

224

获赞

12

访问

46.2k

头像
简单字符串操作(标记分类)
P1799 华南理工大学机试题
发布于2022年5月27日 15:15
阅读数 5.6k

思路:从前到后依次查询,使用变量state(初始-1)记录串的类型(1数字   2小写   3大写)。如果新的字符与已有子串状态不符,则将该串放入对应的容器中。循环结束,还要将最后一个串放入容器中。最后,分别将三种类型的串输出即可。

#include <bits/stdc++.h>
using namespace std;

int main()
{
    string s;
    while (getline(cin, s))
    {
        vector<string> lower, upper, nums;
        string t = "";
        int state = -1;
        // 1 数字     2 小写      3 大写
        for (int i = 0; i < s.length(); i++)
        {
            if (s[i] >= '0' && s[i] <= '9')
            {
                if (state == -1)
                    state = 1;
                else if (state != 1)
                {
                    if (t.size() > 0)
                    {
                        if (t[0] >= 'A' && t[0] <= 'Z')
                        {
                            upper.push_back(t);
                        }
                        else if (t[0] >= 'a' && t[0] <= 'z')
                        {
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发