| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:求大神帮忙看看程序怎么错了,写了几天了,老是不对,不能出结果,可以的话帮 ...
只看楼主 加入收藏
南庭
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-5-9
结帖率:66.67%
收藏
 问题点数:0 回复次数:0 
求大神帮忙看看程序怎么错了,写了几天了,老是不对,不能出结果,可以的话帮忙调一哈,谢谢!
程序 的目的是为了将文本head.txt中许多行的汉字(每行汉字个数不等但不超过⑤个)行与行之间进行比较(每个汉字看成两个字符)重新排序输出到headsort.txt文本中,希望高手能帮我看看怎么改,调了几天了还是不行!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//#define LINE 1024
int cout()
{   
    unsigned int s,get,rc;
    FILE *fp;
    fp=fopen("head.txt","r");
    if(fp==NULL)
    {
        printf("cannot find file\n");
        exit(0);
    }
   
    rc=0;
    s=0;
    while((get=fgetc(fp))!=EOF)
    {   
        if((char)get=='\n')
        {
            rc=ftell(fp);

            s++;
        }
        rc++;
   
    }
    fclose(fp);
    return s;
}
void main()
{   
    char str[100000000][20],*temp;
    temp=str[0];
    unsigned int rc,i,j,get,k,h;
    FILE *fp,*fp1;
    fp=fopen("head.txt","r");
    fp1=fopen("headsort.txt","w");
        //printf("%d\n",k);
        k=cout();
        get=fgetc(fp);
        for(i=0;i<=k,get!=EOF;i++)
        {
            for(j=0;(char)get!='\n';j++)
                {
                    //rc=ftell(fp);
                    //rc--;
                    str[i][j]=fgetc(fp);
                }
        }
        for(i=0;i<=k;i++)
        {    for(j=0;j<k-i;j++)
            {
                for(h=0;str[i]!='\0';h++)
                {
                    if(strcmp(str[i],str[i++])>0)
                    {   
                        for(h=0;h<10;h++)
                            {
                                *temp=str[i][h];
                                str[i][h]=str[i++][h];
                                str[i++][h]=*temp;
                            }
                    }
                }
            }
        }   
        for(i=0;i<=k;i++)
        {
            fseek(fp,strlen(str[i]),0);
            fwrite(&str[i],strlen(str[i]),1,fp1);
            /*for(h=0;;h++)
                {
                    fputc(str[i][h],fp1);
                    if(h==(strlen(str[i])))
                    {
                        fputc('\n',fp1);
                        break;
                    }
                }*/
        }        

   
}

   
   


[ 本帖最后由 南庭 于 2013-12-22 13:33 编辑 ]
搜索更多相关主题的帖子: include cannot 汉字 file 
2013-12-21 12:55
快速回复:求大神帮忙看看程序怎么错了,写了几天了,老是不对,不能出结果,可以 ...
数据加载中...
 
   



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

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