首页 > 代码库 > CCF_ 201403-3 _命令行选项
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(‘\n‘); } return 0;}
CCF_ 201403-3 _命令行选项
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。