标题:多个字符串比较大小
只看楼主
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
结帖率:77.42%
已结贴  问题点数:20 回复次数:10 
多个字符串比较大小
/*从键盘上输入5个字符串(约定:每个字符串中字符数≤80字节),对其进行升序排序并输出。编程可用素材:
printf("Input 5 strings:\n")...、printf("---------------------------\n")。
  程序的运行效果应类似地如图1所示,图1中的
        hello
        my
        friend
        Are you ready?
        help!
  是从键盘输入的内容。
Input 5 strings:
hello
my
friend
Are you ready?
help!
---------------------------
Are you ready?
friend
hello
help!
*/
搜索更多相关主题的帖子: 键盘 friend 字符串 hello 
2012-12-07 07:53
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
这就是传说中的作业贴吗?

DO IT YOURSELF !
2012-12-07 07:55
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
得分:0 
dui呀  求指教。。。。

无节操,无真相
2012-12-07 07:57
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 

DO IT YOURSELF !
2012-12-07 07:57
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
得分:0 
做不来嘛

无节操,无真相
2012-12-07 08:01
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
两个函数strlen和strcmp


[fly]存在即是合理[/fly]
2012-12-07 08:11
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
得分:0 
给点提示,其实和几个字符或数字排序是一样的:
1  把几个字符串放在一个指针数组或二维数组中
2  双重循环比较字符串大小排序输出

小小战士,战士中的战斗机!
2012-12-07 08:20
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:20 
呵呵,照旧?

程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

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

int main()
{
    char a[5][128], *p[5];
    int i;
    printf("Input 5 strings:\n");
    for(i = 0; i < 5; p[i] = gets(a[i++]));
    qsort(p, 5, sizeof(char *), cmp);
    printf("---------------------------\n");
    for(i = 0; i < 5; puts(p[i++]));
    return 0;
}


[ 本帖最后由 beyondyf 于 2012-12-8 19:38 编辑 ]

重剑无锋,大巧不工
2012-12-07 08:31
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
得分:0 
#include<stdio.h>

#include<string.h>

int main(void)

{
    char str[5][80], *ss;
    int i, j;

    printf("Input 5 strings:\n");
    gets(str[0]);
    gets(str[1]);
    gets(str[2]);
    gets(str[3]);
    gets(str[4]);

   
    for (i = 0; i < 5; i++)
    {
        for ( j = i + 1 ; j < 5; j++)
        {
            if(strcmp(str[i],str[j]) < 0)
            {
                ss = str[i];
                str[i] = str[j];
                str[j] = ss;
               
            }
        }
    }
    for(i = 0; i < 5; i++)
    printf("%s\n", str[i]);
return 0;
}
二维字符串的指针要怎么写嘛 。。。

无节操,无真相
2012-12-07 10:37
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
得分:0 
谭的书上不是有类似的例子吗,指针数组那节,详细的很

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-12-07 11:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389975-1-1.html




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

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