标题:关于对输入字符串排序程序的问题
取消只看楼主
ke3470
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-31
结帖率:100%
已结贴  问题点数:20 回复次数:3 
关于对输入字符串排序程序的问题
#include <stdio.h>
#include <string.h>

typedef struct wrd{
    char wrd[20];
    struct wrd *next;
}WRD;

void main(){
    char c;
    int i=0,n=1,ct;
    WRD *head,*ptrT,*ptrP,*mark;
    printf("Please input the word(use space to divide)\n");
    head = (WRD*)malloc(sizeof(WRD));
    ptrP = (WRD*)malloc(sizeof(WRD));
    head->next = ptrP;

    while((c=getchar())!=EOF){
        if(c==' '){
            ptrP->next = (WRD*)malloc(sizeof(WRD));
            if(ptrP == NULL){
                printf("error!\n");
                exit(1);
            }
            ptrP = ptrP->next;
            n++;
            i=0;        /*Q */
        }
        else{
            ptrP->wrd[i] = c;
            i++;
            ptrP->wrd[i] = '\0';
        }
    }
    ct = n;
    ptrT = head;
    mark = head;
    while(n--){
        ptrP = mark;
        ptrT = mark;

        for(i=0; i<n+1; i++){
            if(strcmp(ptrT->next->wrd,ptrP->next->wrd) > 0){
                ptrT = ptrP;
            }
            ptrP = ptrP->next;
        }
        ptrP = ptrT->next;
        ptrT->next = ptrP->next;
        ptrP->next = mark->next;
        mark->next = ptrP;
        mark = ptrP;
    }
    ptrP = head;
    for(i=0; i<ct; i++){
        printf("%s\t",ptrP->next->wrd);
        ptrP = ptrP->next;
    }

}

求问哪里出错?VS可以完成排序但是输出结果有乱码,turboC运行完全不符合要求
乱码问题解决了、、红字那边输错了
但是还有一个问题,为神马Ctrl+Z要输两次才认?


[ 本帖最后由 ke3470 于 2011-5-19 17:58 编辑 ]
搜索更多相关主题的帖子: include 字符串 word 
2011-05-19 16:34
ke3470
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-31
得分:0 
回复 2楼 林浩
如果是固定字符串数量的不用、、如果数量不定就需要了
2011-05-19 17:57
ke3470
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-31
得分:0 
回复 4楼 laoyang103
还有一个问题、、在VS里面运行的话,EOF要输入两次才行,而且第一次还算是有效输入、、找不到原因,纠结了
2011-05-19 20:56
ke3470
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-31
得分:0 
结贴了、、、
2011-05-19 23:03



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




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

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