使用C语言文件合并再排序
生活随笔
收集整理的這篇文章主要介紹了
使用C语言文件合并再排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
有兩個磁盤文件A和B,各存放一行字母,今要求把這兩個文件中的信息合并(按字母順序排列),輸出到一個新文件C中去。
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(){void sort(char c[],int n);FILE*fa,*fb,*fc;int i;//循環變量int m;//標記 char ch;char a[50];char b[50];char c[100];if((fa=fopen("C:\\Users\\17604\\Desktop\\a.txt","r"))==NULL){printf("打開文件失敗!!");exit(0); }if((fb=fopen("C:\\Users\\17604\\Desktop\\b.txt","r"))==NULL){printf("打開文件失敗!!");exit(0); }if((fc=fopen("C:\\Users\\17604\\Desktop\\c.txt","w"))==NULL){printf("打開文件失敗!!");exit(0); }i=0;while((ch=getc(fa))!=EOF){//讀入A文件數據 a[i]=ch;i++;}printf("A文件:\n"); puts(a);i=0;while((ch=getc(fb))!=EOF){//讀入B文件數據 b[i]=ch;i++;}printf("B文件:\n"); puts(b); //合并信息 for(i=0;i<strlen(a);i++){c[i]=a[i];}m=i;for(i=0;i<strlen(b);i++){c[m+i]=b[i];}c[m+i]='\0';printf("合并后C文件:\n"); puts(c);sort(c,(m+i));printf("排序后C文件:\n");puts(c);for(i=0;i<strlen(c);i++){putc(c[i],fc);if(ferror(fc)){printf("寫入字符失敗!!\n");}}fclose(fa);fclose(fb);fclose(fc);return 0; }void sort(char c[],int n){//排序 按字母順序排序 char temp;int i;int j;for(i=0;i<n-1;i++){//用選擇法進行排序 for(j=i+1;j<n;j++){if(c[j]<c[i]){temp=c[i];c[i]=c[j];c[j]=temp;}}} }效果圖:
總結
以上是生活随笔為你收集整理的使用C语言文件合并再排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis 集群目标、集群查看、配置方法
- 下一篇: Centos升级Python2.7.12