zoukankan      html  css  js  c++  java
  • 轻院 2236: 优美的Json串

    http://acm.zzuli.edu.cn/problem.php?id=2236

    2236: 优美的Json串

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 57  解决: 10
    [提交][状态][讨论版][命题人:admin]

    题目描述

    Json串的格式如下以“{”开头,以"}"结尾

    Json串只有两种对应关系

    整个json串只有一层, 不会出现以下结构


    输入

    首先,输入一个Json串(Json串不超过200行,Json串的每行小于1000个字符);

    然后, 输入一个正整数q(q<=1000),表示q次询问

    接着q行, 每行一个字符串(不包含空白符),表示所询问的Json键(对于每个询问保证存在相应的Json值)


    输出

    对于每组询问,输出所询问的Json键所对应的Json值(可能包含空格),输出占一行

    样例输入

    {
      "name" : "xiaoming",
      "grade" : "12",
      "object" : ["math", "chinese", "English"],
    }
    2
    name
    object

    样例输出

    xiaoming
    math,chinese,English
    

    提示



    比如 询问 "name", 需要输出 "xiaoming" ; 询问 "object", 需要输出 "math,chinese,English"


    有一个易错点:【】中可能不止3个字符串,难点在于字母处理“”


    AC代码

    #include<stdio.h>
    #include<string.h>
    struct json{
        char name[1000]; 
        char str[5050]; 
    }a[1000];
    int main()
    {
        int n,i,j,len,h;
        char ch,an[1000];
        scanf("{");
        for(i=0;;i++)
        {
            scanf(" %c",&ch);
            if(ch=='}')
            break;
            scanf("%s : ",a[i].name);
            gets(a[i].str);
        }
       
        scanf("%d",&n);
        while(n--)
        {
            memset(an,0,sizeof(an));
            scanf("%s",an);
            len=strlen(an);
            an[len]='"';
            for(j=0;j<i;j++)
            {
                if(strcmp(an,a[j].name)==0)
                {
                    len=strlen(a[j].str);
                    for(h=0;h<len-1;h++)
                    {
                        if(a[j].str[h]=='['||a[j].str[h]=='"'||a[j].str[h]==']')
                           continue;
                        if(a[j].str[h]==' '&&a[j].str[h-1]==',')
                           continue;
                        else
                           printf("%c",a[j].str[h]);
                    }
                    printf("
    ");
                        break;
                }
            }
        } 
         
        return 0;
    } 


  • 相关阅读:
    五星评价
    IE9以上 CSS文件因Mime类型不匹配而被忽略 其他浏览器及IE8以下显示正常
    js时间显示设置
    jq手风琴---点击时列表的左边距逐渐减小
    break continue return
    validate插件:验证密码没有空格 用户名是5-10位 至少包含数字和大小写字母中的两种字符
    Commons IO
    Servlet & JSP
    设计模式
    Table of Contents
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/10003088.html
Copyright © 2011-2022 走看看