C语言经典例99-文件内容合并和排序
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例99-文件内容合并和排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
1 題目
有兩個磁盤文件A和B,各存放一行字母,要求把這兩個文件中的信息合并(按字母順序排列),輸出到一個新文件C中。
2 分析
先把文件A和文件B的內容都讀出來,然后使用字符串連接函數strcat連接成一個字符串,然后用冒泡排序的思想,將字符串中的字母進行排序,最后寫入文件C中
3 實現
#include <stdio.h> #include <stdlib.h> #include <string.h>int main() {FILE *fp;char str[100], str1[100];if ((fp = fopen("A.txt", "r")) == NULL) {printf("文件打開失敗\n");exit(0);}fgets(str, 100, fa); // 讀入A中字符串到strfclose(fp);if ((fb = fopen("B.txt", "r")) == NULL) {printf("文件打開失敗\n");exit(0);}fgets(str1, 100, fb); // 讀入B中字符串到str1fclose(fp);strcat(str, str1); // 字符串連接// 冒泡排序,將字符串排序for(int i = strlen(str) - 1; i > 1; i--) {for (int j = 0; j < i; j++) {if (str[j] > str[j + 1]) {char t = str[j];str[j] = str[j + 1];str[j + 1] = t;}}}if ((fp=fopen("C.txt", "w")) == NULL) {printf("文件打開失敗\n");exit(0);}fputs(str, fp); // 將字符串寫入文件Cfclose(fp);return 0; }總結
以上是生活随笔為你收集整理的C语言经典例99-文件内容合并和排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例98-将字符转为大写字母并写
- 下一篇: C语言经典例100-将学生成绩写入文件