| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 312 人关注过本帖
标题:有关文件的C语言题 求大神帮看下程序哪有问题 谢谢!
只看楼主 加入收藏
luciferxiaoz
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2013-11-23
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
有关文件的C语言题 求大神帮看下程序哪有问题 谢谢!
题目:
有2个磁盘文件“A”和“B”,各存放一行字母,今要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。
我自己编的代码如下:
程序代码:
#include <stdio.h>
#include <stdlib.h>
void main()
{
    FILE * fp_A,*fp_B,*fp_C;
    fp_A=fopen("A.txt","r");
    fp_B=fopen("B.txt","r");
    fp_C=fopen("C.txt","w+");
    char a[20],b[20],c[20];
    fscanf (fp_A,"%s",a);
    fscanf (fp_B,"%s",b);
    int i=0,j;
    char k,min;
    for (i=0;a[i]!=0;i++)
    {
        c[i]=a[i];    
    }
    k=i;
    for (i=i;b[i-k]!=0;i++)
    {
        c[i]=b[i-k];
    }
    min=c[0];
    for (i=1;c[i]!='\0';i++)
    {
        for (j=i;c[j]!='\0';j++)
        if (min>a[j])
        {
            min=a[j];
            a[j]=a[i];
            a[i]=min;
        }
    }
    for (i=0;c[i]!='\0';i++)
    {
        fprintf(fp_C,"%c",c[i]);
    }
    if (fp_A==NULL)
    {printf ("can't open A\n");exit(1);}
    if (fp_B==NULL)
    {printf ("can't open B\n");exit(1);}
    else
    {
    fclose (fp_A);
    fclose (fp_B);
    fclose (fp_C);
    }
}
搜索更多相关主题的帖子: C语言 信息 字母 
2013-12-21 16:20
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
收藏
得分:10 
其实没必要写的这么麻烦,简单的一点就是,把文件中的信息读出来,放在数组中,然后排序,最后输出到另外一个文件中。下面是代码。
#include<stdio.h>
#include<string.h>
void main()
{
    FILE * fp_A,*fp_B,*fp_C;
    char a[20],b[20],c[20];
    int i,j,k;
    char min;

    fp_A=fopen("A.txt","r");
    fp_B=fopen("B.txt","r");
    fp_C=fopen("C.txt","w+");

    fgets(a,20,fp_A);
    fgets(b,20,fp_B);

    for (i=0;a[i]!='\0';i++)
    {
        c[i]=a[i];   
    }
    k=i;
    for (j=0;b[j]!='\0';j++)
    {
        c[k++]=b[j];
    }

    c[k]='\0';

    for (i=0;i<strlen(c)-1;i++)
    {
        for (j=i;j<strlen(c)-1-i;j++)
        if (c[j]>c[j+1])
        {
            min=c[j];
            c[j]=c[j+1];
            c[j+1]=min;
        }
    }
    fputs(c,fp_C);
   
    fclose (fp_A);
    fclose (fp_B);
    fclose (fp_C);
}
2013-12-21 16:52
luciferxiaoz
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2013-11-23
收藏
得分:0 
回复 2楼 xp0213
THX~~
2013-12-21 17:04
快速回复:有关文件的C语言题 求大神帮看下程序哪有问题 谢谢!
数据加载中...
 
   



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

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