• 白皮书-字母重排


    字母重排

    样例输入:

    tarp given score refund only trap work earn course pepper part

    ******
    resco nfudre aptr sett oresuc

    样例输出:

    score

    refund

    part tarp trap

    :(

    course

    题目要求:输入一个字典(用******结尾),然后再输入若干单词。每输入一个单词w,你都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典序从小到大的顺序在一行中输出(如果不存在,输出:()。输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成。注意,字典中的单词不一定按字典序排列。

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 int n;
     5 char word[2000][10],sorted[2000][10];
     6 
     7 int cmp_char(const void* _a,const void * _b)
     8 {
     9     char *a=(char *)_a;
    10     char *b=(char *)_b;
    11     return *a-*b;
    12 }
    13 
    14 int cmp_string(const void* _a,const void* _b)
    15 {
    16     char *a=(char *)_a;
    17     char *b=(char *)_b;
    18     return strcmp(a,b);
    19 }
    20 
    21 int main()
    22 {
    23     int i;
    24     n=0;
    25     for(;;)
    26     {
    27         scanf("%s",word[n]);
    28         if(word[n][0]=='*')
    29             break;
    30         n++;
    31     }
    32     qsort(word,n,sizeof(word[0]),cmp_string);
    33     for(i=0;i<n;i++)
    34     {
    35         strcpy(sorted[i],word[i]);
    36         qsort(sorted[i],strlen(sorted[i]),sizeof(char),cmp_char);
    37     }
    38     char s[10];
    39     while(scanf("%s",s) == 1)
    40     {
    41         qsort(s,strlen(s),sizeof(char),cmp_char);
    42         int found=0;
    43         for(i=0;i<n;i++)
    44         {
    45             if(strcmp(sorted[i],s)==0)
    46             {
    47                 found=1;
    48                 printf("%s ",word[i]);
    49             }
    50         }
    51         if(!found)
    52             printf(":(");
    53         printf("
    ");
    54     }
    55     return 0;
    56 }
  • 相关阅读:
    php常用操作(第二版)
    mysql操作遇到的坑(第一版)
    php常用函数(第一版)
    ThinkPHP5实现定时任务
    mysql高级扩展
    laravel基础操作手册
    初次接触python时,整理的一些基础操作
    后端技术杂谈1:搜索引擎基础倒排索引
    搞懂分布式技术21:浅谈分布式消息技术 Kafka
    搞懂分布式技术20:消息队列因何而生
  • 原文地址:https://www.cnblogs.com/youdiankun/p/3675595.html
Copyright © 2020-2023  润新知