日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用C语言文件合并再排序

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C语言文件合并再排序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

有兩個(gè)磁盤文件A和B,各存放一行字母,今要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中去。

#include<stdio.h> #include<stdlib.h> #include<string.h> int main(){void sort(char c[],int n);FILE*fa,*fb,*fc;int i;//循環(huán)變量int m;//標(biāo)記 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文件數(shù)據(jù) a[i]=ch;i++;}printf("A文件:\n"); puts(a);i=0;while((ch=getc(fb))!=EOF){//讀入B文件數(shù)據(jù) 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++){//用選擇法進(jìn)行排序 for(j=i+1;j<n;j++){if(c[j]<c[i]){temp=c[i];c[i]=c[j];c[j]=temp;}}} }

效果圖

總結(jié)

以上是生活随笔為你收集整理的使用C语言文件合并再排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。