有两个磁盘文件A和B,各存放一行字母,今要求把这两个文件中的信息合并(按字母排列),输出到一个新文件C中

#include 
#include 
void main ()
{
	FILE *fp1,*fp2,*fp3;
	char ch;
	char c[1001];
	int num;  //用于记录字母数目
	int i,j,k;
	fp1=fopen("F:\\learening\\A.txt","r") ;  //以只读方式 打开字母文件
	if(fp1==NULL)
	{
		printf("不能打开文件A\n");
		exit(0);
	 } 
	fp2=fopen("F:\\learening\\B.txt","r") ;  //以只读方式 打开字母文件
	if(fp1==NULL)
	{
		printf("不能打开文件B\n");
		exit(0);
	} 
	
	//将字母文件A读入字符组C中
	ch=fgetc(fp1);
	i=0;
	while(ch!=EOF&&ch!='\n')   //EOF表示文件结尾,对于大多数操作系统而言EOF 为-1,也就是fgetc读到末尾会返回-1
	{
		if(i>1000)  break;
		c[i]=ch;
		i++;
		ch=fgetc(fp1);
	}
	k=i;
	//将字母文件B读入字符组C中
    ch=fgetc(fp2);

	while(ch!=EOF&&ch!='\n')   //EOF表示文件结尾,对于大多数操作系统而言EOF 为-1,也就是fgetc读到末尾会返回-1
	{
		if(i>=1000-k)  break;
		c[i]=ch;
		i++;
		ch=fgetc(fp2);
	}	 
	fclose(fp1);
	fclose(fp2);
	c[i]='\0';  //设置数组c[]的最后一个值
	num=i-1;    //记录字母数目
	printf("A+B:%s\n",c);
    
	//对数组c进行排序,  冒泡排序
	for(i=0;i<=num-1;i++)
	{
		for(j=num;j>i+1;j--)
		{
			if(c[j]

 

你可能感兴趣的:(c语言学习)