Manchester


私信TA

用户名:wenyajie

访问量:312116

签 名:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

等  级
排  名 1
经  验 62637
参赛次数 1
文章发表 188
年  龄 0
在职情况 学生
学  校 Xiamen University
专  业 计算机科学

  自我简介:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

解题思路:

根据1724题,后缀子串排序


①:定义一个二维字符数组

②:输入字符串个数n

③:输入字符串,当个数满或者输入"stop"时,结束输入

④:调用sqrt排序函数,对字符数组按照长度进行排序
⑤:排序完输出


参考代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define N 101 

int cmp(const void *a, const void *b)
{
    return strlen((char *)a)-strlen((char *)b);
}

int main(void)
{
    int i, j, k, n;
    char s[N][N];

    while (scanf("%d",&n) != EOF)
    {
        k=0;
        getchar(); /*清空缓存区*/
          while(k<n)/*用于输入字符串*/
        {
           gets(s[k++]); /*输入字符串,同时K加上1*/
            if(!strcmp(s[k-1],"stop")) /*若刚输入的字符串为"stop",则字符串个数为k-1,同时结束输入*/
                {
                 k--;
                 break;
                }
        }

        qsort(s, k, sizeof(s[0]), cmp);/*排序*/
        for(i=0; i<k; i++)
            printf("%s\n", s[i]);
    }
    return 0;
}

别忘点赞哦-.-

 

0.0分

8 人评分

  评论区

二维数组的意义在哪里
2023-09-23 09:24:44
  • «
  • 1
  • »