欢迎来到天天文库
浏览记录
ID:56282193
大小:57.00 KB
页数:7页
时间:2020-06-21
《例10.1从键盘输入一些字符,逐个把它们送到磁盘上去,直到.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、例10.1从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。Ø解题思路:用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件即可。#include#includeintmain(){FILE*fp;charch,filename[10];printf("请输入所用的文件名:");scanf("%s",filename);if((fp=fopen(filename,"w"))==NULL)//打开输出文件并使fp指向此文件{printf("无法打开此文件");//如
2、果打开时出错,就输出"打不开"的信息exit(0);//终止程序*/}ch=getchar();//此语句用来接收在执行scanf语句时最后输入的回车符printf("请输入一个准备存储到磁盘的字符串(以#结束):");ch=getchar();//接收从键盘输入的第一个字符while(ch!='#')//当输入'#'时结束循环{fputc(ch,fp);//向磁盘文件输出一个字符putchar(ch);//将输出的字符显示在屏幕上ch=getchar();//再接收从键盘输入的一个字符}fclose(fp);//关闭文件putchar(10
3、);//向屏幕输出一个换行符,换行符的ASCII代码为10return0;}例10.2将一个磁盘文件中的信息复制到另一个磁盘文件中。今要求将上例建立的file1.dat文件中的内容复制到另一个磁盘文件file2.dat中。Ø解题思路:处理此问题的算法是:从file1.dat文件中逐个读入字符,然后逐个输出到file2.dat中。#include#includeintmain(){FILE*in,*out;charch,infile[10],outfile[10];//定义两个字符数组,分别存放两个文件名p
4、rintf("输入读入文件的名字:");scanf("%s",infile);//输入一个输入文件的名字printf("输入输出文件的名字:");scanf("%s",outfile);//输入一个输出文件的名字if((in=fopen(infile,"r"))==NULL)//打开输入文件{printf("无法打开此文件");exit(0);}if((out=fopen(outfile,"w"))==NULL)//打开输出文件{printf("无法打开此文件");exit(0);}while(!feof(in))//如果未遇到输入文
5、件的结束标志{ch=fgetc(in);//从输入文件读入一个字符,暂放在变量ch中fputc(ch,out);//将ch写到输出文件中putchar(ch);//将ch显示在屏幕上}putchar(10);//显示完全部字符后换行fclose(in);//关闭输入文件fclose(out);//关闭输出文件return0;}例10.3从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。Ø解题思路:为解决问题,可分为三个步骤:u从键盘读入n个字符串,存放在一个二维字符数组中,每一个一维数组存放一个字符串
6、;u对字符数组中的n个字符串按字母顺序排序,排好序的字符串仍存放在字符数组中;u将字符数组中的字符串顺序输出。#include#include#includeintmain(){FILE*fp;charstr[3][10],temp[10];//str是用来存放字符串的二维数组,temp是临时数组inti,j,k,n=3;printf("Enterstrings:");//提示输入字符串*/for(i=0;i7、n-1;i++)//用选择法对字符串排序{k=i;for(j=i+1;j0)k=j;if(k!=i){strcpy(temp,str[i]);strcpy(str[i],str[k]);strcpy(str[k],temp);}}if((fp=fopen("D:\CC\string.dat","w"))==NULL)//打开磁盘文件{printf("can'topenfile!");exit(0);}printf("Thenewsequence:");for(i=8、0;i
7、n-1;i++)//用选择法对字符串排序{k=i;for(j=i+1;j0)k=j;if(k!=i){strcpy(temp,str[i]);strcpy(str[i],str[k]);strcpy(str[k],temp);}}if((fp=fopen("D:\CC\string.dat","w"))==NULL)//打开磁盘文件{printf("can'topenfile!");exit(0);}printf("Thenewsequence:");for(i=
8、0;i
此文档下载收益归作者所有