zoukankan      html  css  js  c++  java
  • CCF_ 201403-3 _命令行选项

    不要怀疑,这题跟CCF_201604-3_路径解析一样恶心,很多中情况,要仔细读题,注意细节。

    写的比较乱。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int a[128] = {0};
    char ans[128][260];
    
    int main()
    {
        char str[260];
        gets(str);
        char *p = str;
        while(*p)
        {
            if(*(p+1) == ':')
            {
                a[*p] = 2;
                p += 2;
            }
            else
            {
                a[*p] = 1;
                p++;
            }
        }
        int n;
        scanf("%d",&n);
        getchar();
        for(int i = 1;i <= n;i++)
        {
            memset(str,0,sizeof(str));
            memset(ans,0,sizeof(ans));
            gets(str);
            p = str;
            while(*p != ' ' && *p != 0) p++;
            p++;
            while(1)
            {
                if(*p == '-' && *(p+2) == ' ')
                {
                    p++;
                    char temp = *p;
                    if(!a[temp])  break;
                    if(a[temp] == 1)
                    {
                        ans[temp][0] = '.';
                        p += 2;
                    }
                    else
                    {
                        p += 2;
                        int num = 0;
                        char *tp = p;
                        while(*p != ' ' && *p != 0)
                        {
                            num++;
                            p++;
                        } 
                        p++;
                        strncpy(ans[temp],tp,num);
                        ans[temp][num] = 0;
                    }
                }
                else if(*p == '-' && *(p+2) == '0')
                {
                    *p++;
                    if(a[*p] == 1)  ans[*p][0] = '.';
                    break;
                }
                else break;
            }
            printf("Case %d:",i);
            for(char j = 'a';j <= 'z';j++)
            {
                if(ans[j][0] == '.')    printf(" -%c",j);
                else if(ans[j][0] != 0) printf(" -%c %s",j,ans[j]);
            }
            putchar('
    ');
        }
        return 0;
    }
  • 相关阅读:
    第二次结对编程作业
    团队项目-需求分析报告
    Beta阶段第四次会议
    Beta阶段第三次会议
    Beta阶段第二次会议
    Beta阶段第一次会议
    Beta设计和计划
    项目展示
    事后分析
    α版本发布说明
  • 原文地址:https://www.cnblogs.com/zhurb/p/5846930.html
Copyright © 2011-2022 走看看