| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:还是之前那个问题,
只看楼主 加入收藏
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:10 
还是之前那个问题,
  电脑中的一个文件里面的信息为:

    4607 010523 徏杮摽暥 5012
    4605 020528 孎揷恗巙 5047
    4607 860066 惵桍媀彑 5010
    4601 010537 暯棞宐   5031
    4607 910132 妬娵岶巙 5016
    4601 030505 壛悾晹廏孭 5040
    4607 860195 憵揷帯旻 5015
    4601 010510 桳晉晲巙 5043
    4602 030619 堜忋榓旤 5021
    4607 010553 栰乆懞妜恖 5017
    4609 030521 嶳揷朷旤 5101
    4607 040511 拞懞怣岶 5011
    4602 020510 嶁揷夒徍 5030
    EOF
而且每行结束是回车键
怎样完成读文件中的信息,然后排序,在屏幕上显示如下

4601  010510 桳晉晲巙 5043
4601  010537 暯棞宐   5031
4601  030505 壛悾晹廏孭 5040
4602  020510 嶁揷夒徍 5030
4602  030619 堜忋榓旤 5021
4605  020528 孎揷恗巙 5047
4607  010523 徏杮摽暥 5012
4607  010553 栰乆懞妜恖 5017
4607  040511 拞懞怣岶 5011
4607  860066 惵桍媀彑 5010
4607  860195 憵揷帯旻 5015
4607  910132 妬娵岶巙 5016
4609  030521 嶳揷朷旤 5101
搜索更多相关主题的帖子: 信息 
2011-07-21 15:47
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
   可以用二维字符数组保存字符串,用fread把文件中的内容先读入到数组中再排序,快排就OK
   
2011-07-21 16:01
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:0 
回复 2楼 loveshuang
  每个人都这样说,我也知道啊,可就是编译不出这样的,做起来远比说 难多了,呵呵
2011-07-21 16:04
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:0 
   没人能解决这个问题吗?
2011-07-21 16:12
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:10 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
    FILE* fp=fopen("文件.txt","r");
    if(fp==NULL)
        exit(0);
    char str[13][50];
    int i=0;
    while(i<13&&fgets(str[i],50,fp)!=NULL)
    {

        printf("%s",str[i]);
        i++;
    }

    int j,k,flag;
    char temp[50];
    for(j=0;j<12;j++)
    {
        flag=0;
        for(k=1;k<13-j;k++)
        {
            if(strcmp(str[k-1],str[k])>0)
            {
                strcpy(temp,str[k-1]);
                strcpy(str[k-1],str[k]);
                strcpy(str[k],temp);
                flag=1;
            }
        }
        if(flag==0)
            break;
    }
    printf("\n排列后为:\n");
    for(j=0;j<13;j++)
        fputs(str[j],stdout);
}
2011-07-21 16:42
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
希望是你要的答案。。。
2011-07-21 16:42
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
      是的话果断接分,不是我就闪咯
2011-07-21 16:45
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:0 
回复 6楼 loveshuang
很抱歉啊,不是的,完成的功能不是这个
2011-07-21 17:01
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
     运行结果不是和你说的一样的吗?要么把问题说清楚点,你题目的意思就是读文件然后排序啊,还要什么呢?
2011-07-21 17:19
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:0 
回复 9楼 loveshuang
  运行结果不一样啊,在屏幕上没显示排序完的结果呢, 我试了几次了
2011-07-21 19:27
快速回复:还是之前那个问题,
数据加载中...
 
   



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

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