| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4148 人关注过本帖
标题:萌新脑已烧,求大神帮助
只看楼主 加入收藏
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:4 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 1000

int cmp(const void *a,const void *b)
{
    return strcmp((char *)a,(char *)b);//比较字符串的大小 
}

int main()
{
    char bookName[SIZE][100];
    int len = 0, i;
    while( scanf("%s", bookName[len]) != EOF)//输入
    {
        len++;
    }
    qsort(bookName,len,sizeof(bookName[0]), cmp);//排序
    for(i=0;i<len;i++)
    {
        printf("%s\n",bookName[i]);
    }
    return 0;
}

2017-04-14 17:48
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:0 
如果你要学了线性表,你可以用课扩容的线性表写,比较好
2017-04-14 17:50
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
动态行主序。
链表写法以后你自己学到链表自己写吧。
而且你的题目要求是数组,用链表就不符合要求了。

没有释放内存,没有必要,反正只运行一次。

程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define INITSIZE 5
#define LINESIZE 101
int
getbookname( char *dst, int size );

int
main( void )
{
    char **s, **temp;
    char t[ LINESIZE ];
    int ix, i, j;
    int currentsize;
    int ch;

    currentsize = INITSIZE;

    s = ( char ** )malloc( currentsize * sizeof( char * ) );
    if( NULL == s )
        return EXIT_FAILURE;
    for( ix = 0; ix < currentsize; ++ix )
    {
        s[ ix ] = ( char * )malloc( LINESIZE * sizeof( char ) );
        if( NULL == s[ ix ] )
            return EXIT_FAILURE;
    }

    for( ix = 0;;++ix )
    {
        if( ix == currentsize )
        {
            currentsize += INITSIZE;
            temp = ( char ** )realloc( s, currentsize * sizeof( char * ) );
            if( NULL == temp )
                return EXIT_FAILURE;
            s = temp;
            for( i = ix; i < currentsize; ++i )
            {
                s[ i ] = ( char * )malloc( LINESIZE * sizeof( char ) );
                if( NULL == s[ i ] )
                    return EXIT_FAILURE;
            }
        }
        if( EOF == ( ch = getbookname( s[ ix ], LINESIZE ) ) )
            break;
    }

    for( i = 0; i < ix; ++i )
        for( j = i + 1; j < ix; ++j )
            if( 0 < strcmp( s[ i ], s[ j ] ) )
            {
                strcpy( t, s[ i ] );
                strcpy( s[ i ], s[ j ] );
                strcpy( s[ j ], t );
            }

    for( i = 0; i < ix; ++i )
        printf( "%s", s[ i ] );
    return 0;
}


int
getbookname( char *dst, int size )
{
    int ch;
    int ix;

    for( ix = 0; ix < size - 1 && EOF != ( ch = getchar() ) && '\n' != ch; ++ix )
        dst[ ix ] = ch;
    if( '\n' == ch )
        dst[ ix++ ] = ch;
    dst[ ix ] = '\0';

    return ch;
}

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-14 18:42
祝XX
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-4-9
收藏
得分:0 
回复 13楼 renkejun1942
嗯,大神是对的,多谢多谢
2017-04-17 22:15
快速回复:萌新脑已烧,求大神帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082356 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved