2011华中科技大学研究生复试机试之一

来源:互联网 发布:k均值聚类算法实例 编辑:程序博客网 时间:2024/04/30 15:35

1

(1)从键盘输入一个文本(ASC2码文件),并将该文本输出到D盘根目录下的abc0.txt文件中,再关闭该文件,以Ctrl+Z(即eof)结束。

(2)打开D盘根目录下的abc0.txt文件,将单词之间两个以上的空格都压缩为一个空格,输出处理后的文本,同时将处理后的文本输出到D盘根目录下的abc1.txt文件中,并关闭该文件。

(3)打开D盘根目录下的abc1.txt文件,统计文件中字符的个数,单词的个数,以及句子的个数,并输出统计结果。

#include <stdio.h>#include <stdlib.h>int main(){//1问char c;char c_before;FILE* fp_abc0 = fopen("D:\\abc0.txt","w");if(fp_abc0==NULL){puts("open file fail.");return 0;}while((c=getchar())!=EOF){fputc(c,fp_abc0);}fclose(fp_abc0);puts("input success!");puts("Mission 1 complete!");//2问fp_abc0 = fopen("D:\\abc0.txt","r");FILE* fp_abc1 = fopen("d:\\abc1.txt","w"); if(fp_abc0==NULL){puts("open file fail.");return 0;}if(fp_abc1==NULL){puts("open file fail.");return 0;}c=c_before=NULL;while((c=fgetc(fp_abc0))!=EOF){if(c==' '){if(c_before==' ')continue;elsefputc(c,fp_abc1);}elsefputc(c,fp_abc1);c_before=c;}fclose(fp_abc0);fclose(fp_abc1);puts("Mission 2 complete!");//3问fp_abc1=fopen("D:\\abc1.txt","r");if(fp_abc1==NULL){puts("open file fail.");return 0;}int char_counter=0;int word_counter=0;int sentence_counter=0;c=NULL;while((c=fgetc(fp_abc1))!=EOF){char_counter++;putchar(c);if(c==' ')word_counter++;if(c=='.')sentence_counter++;}word_counter++;fclose(fp_abc1);printf("字符个数:%d\n单词个数%d\n句子个数%d\n",char_counter,word_counter,sentence_counter);return 0;}


原创粉丝点击