• uva Andy's First Dictionary


    题目很简单,数组开大就好,5000但加上重复就不够了10000都小,sort排序前闭合后开,对二维字符窜排序用结构体,所以只有一组的时候只是本身但是不会出现RE情况,还有一点 “    ...   a”这组数据,若不先判断掉前面的符号就存储,

                  输出的时候会

                                   a有无谓的空行

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    #include<algorithm>
    using namespace std;
    
    char ss[100000][300];
    
    struct Chr
    {
        char nam[300];
    }chr[100000];
    
    bool cmp(Chr a,Chr b)
    {
        return strcmp(a.nam,b.nam)<0;
    }
    
    int main()
    {
        int i,len;
        int k1,k2;
        int cas=0;
        k1=k2=0;
        while(gets(ss[cas])!=NULL)
        {
            len=strlen(ss[cas]);
            
            for (i=0;i<=len;i++)
            {
                if(isupper(ss[cas][i]))  ss[cas][i]+=32;
                if(!isupper(ss[cas][i]) && !islower(ss[cas][i]))
                {
                    if(isupper(chr[k1].nam[0]) || islower(chr[k1].nam[0]))
                    {
                        chr[k1].nam[k2]='\0';
                        k1++;
                        k2=0;
                    }
                }
                else chr[k1].nam[k2++]=ss[cas][i];
            }
            cas++;
        }
        sort(chr,chr+k1,cmp);
        for (i=0;i<k1;i++)
        {
            if(strcmp(chr[i].nam,chr[i+1].nam)!=0 && (isupper(chr[i].nam[0]) || islower(chr[i].nam[0]))) printf("%s\n",chr[i].nam);
        }
        //if(strcmp(chr[i].nam,chr[i-1].nam)!=0) printf("%s\n",chr[i].nam);
        return 0;
    }
  • 相关阅读:
    原生js 实现 map
    前端安全学习
    前端性能优化
    前端的跨域请求方法使用场景及各自的局限性
    7-7 12-24小时制(15 分)
    7-4 BCD解密(10 分)
    7-2 然后是几点(15 分)
    厘米换算英尺英寸
    鸡兔同笼
    数组:经典计数
  • 原文地址:https://www.cnblogs.com/zsboy/p/2611076.html
Copyright © 2020-2023  润新知