| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:书上的一道编程题,还没弄懂题目意思,帮个忙!!!!
只看楼主 加入收藏
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:11 
书上的一道编程题,还没弄懂题目意思,帮个忙!!!!
编写一个交互式程序,用scanf()读入用户输入的七个串,程序把七个串显示成一张表,然后按字典次序排序并显示一张新表
搜索更多相关主题的帖子: 用户 张新 
2009-10-29 16:24
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
来个例子说明一下
2009-10-29 17:35
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 2楼 m456m654
我也没例子,就是书上的题目,我还没弄懂是什么意思,就是在指针和数组那个章节的,我猜应该要用指针做吧

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 17:37
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
然后按字典次序排序并显示一张新表
这句怎么理解呢?只排首字母呢,还是每行都按字母顺序排?
2009-10-29 17:52
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 4楼 m456m654
根据我的理解,应该是按首字母,就好像字典一样,按照二十六个字母来排序,那七个串就好比字母,好像是有七行

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 17:59
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:2 
字符串排序

—>〉Sun〈<—
2009-10-29 18:07
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
那好像就只排首字母,那就动手排啊
2009-10-29 18:09
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
怎么排,能不能大概写个程序?谢谢啦

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 18:15
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:4 
// 并不是按首字母排序,而是按字符串顺序排序。
// 字典上也是这样的
//

#include <stdio.h>
#include <stdlib.h>
 
#define N       7
#define LENGTH  81
 
void strswap(char * s1, char * s2, int maxlen);
 
int main(void) {
 
    int i, j;
    char sstr[N][LENGTH];
     
    for (i = 0; i < N; ++i) {
        scanf("%s", sstr[i]);
    }
 
    for (i = 0; i < N; ++i) {
        for (j = i + 1; j < 7; ++j) {
            if (strcmp(sstr[i], sstr[j]) > 0) {
                strswap(sstr[i], sstr[j], LENGTH);
            }
        }
        puts(sstr[i]);
    }
    return 0;
}
 
 
void strswap(char * s1, char * s2, int maxlen)
{
    char *s;
    s = (char*)malloc(maxlen);
    if (s1 && s2 && s) {
        strcpy(s,  s1);
        strcpy(s1, s2);
        strcpy(s2, s);
    } else {
        printf("Error: %s !\n", s?"Argument":"Memory allocation");
    }
    free(s);
}



[ 本帖最后由 cosdos 于 2009-10-29 18:38 编辑 ]

—>〉Sun〈<—
2009-10-29 18:35
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 9楼 cosdos
先研究下,谢谢啦

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 19:00
快速回复:书上的一道编程题,还没弄懂题目意思,帮个忙!!!!
数据加载中...
 
   



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

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