C 语言练习范例 99
题目
有两个磁盘文件 demo1
和 demo2
,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件 demo3
中
程序分析
你需要先创建 demo1
与 demo2
demo1
文件内容:
123
demo2
文件内容:
456
程序代码
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { FILE*fa,*fb,*fc; int i,j,k; char str[100],str1[100]; char tem; if((fa=fopen("demo1","r"))==NULL) { printf("error: cannot open demo1 file!\n"); exit(0); } fgets(str,99,fa); fclose(fa); if((fb=fopen("demo2","r"))==NULL) { printf("error: cannot open demo2 file!\n"); exit(0); } fgets(str1,100,fb); fclose(fb); strcat(str,str1); for(i=strlen(str)-1;i>1;i--) for(j=0;j<i;j++) if(str[j]>str[j+1]) { tem=str[j]; str[j]=str[j+1]; str[j+1]=tem; } if((fc=fopen("demo3","w"))==NULL) { printf("error: cannot open demo3 file!\n"); exit(0); } fputs(str,fc); fclose(fc); getc(); return 0; }
运行结果
运行以上代码,输出结果为
123456