计算机基础2实验九 .doc

上传人:大米 文档编号:556406781 上传时间:2023-09-16 格式:DOC 页数:4 大小:44KB
返回 下载 相关 举报
计算机基础2实验九 .doc_第1页
第1页 / 共4页
计算机基础2实验九 .doc_第2页
第2页 / 共4页
计算机基础2实验九 .doc_第3页
第3页 / 共4页
计算机基础2实验九 .doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机基础2实验九 .doc》由会员分享,可在线阅读,更多相关《计算机基础2实验九 .doc(4页珍藏版)》请在金锄头文库上搜索。

1、实验九 文件一、实验目的 1熟悉文件和文件指针的概念以及文件指针的定义方法。2掌握文件打开和关闭的概念和方法。3掌握常用的关于文件操作库函数的使用。二、实验准备C语言中处理文件的一般步骤为: (1)包含stdio.h头文件:# include stdio.h (2)定义FILE类型文件指针:FILE *fp; (3)打开文件, 建立文件指针和文件的联系: fp=fopen(文件名,打开方式); (4)根据需要选择合适的文件读写函数对文件进行读写操作。 (5)关闭文件:fclose(fp);三、实验内容( 按要求设计以下程序,并调试分析运行结果 ,此部分完成在实验报告上)1、程序调试题(文件名为

2、test1-1.c) 磁盘上有一个名为test1-1.c的C程序文件,其中函数fun的功能是:在字符串a中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用fun函数之前字符串为:123aBYdZf,调用后字符串中的内容为:f123aBYdZ。在main函数中,从文本文件test1-1.txt中读出字符串放入一维数组a中,调用fun函数构成新的数组,在主函数中输出处理后的结果。请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include #include #includefun(char *p) c

3、har max,*q; int i=0; max=pi; while(pi!=0) if(maxpi) max=pi; q=p+1;i+; while(qp) *q=*(q-1);q+; p0=max;void main( ) FILE *fp; char a255; int i=0; if(fp=fopen(test1-1.txt,r)=NULL) printf(Cannot open the file.n); exit(0); while(1) ai+=fgets(fp); if(ai=EOF) break; i+; ai=0; printf(The original string : )

4、; puts(a); fun(a); printf(The string of changing is : %snn,a); fclose(fp);2.程序调试题(文件名为test2-1.c) 磁盘上有一个名为test2-1.c 的C程序文件,其中函数fun的功能是:统计数组a中素数的个数,并将个数作为函数值返回。在main函数中,从文件test2-1.txt中读出10个整数放入整型数组中,调用fun函数,将整型数组的10个数及素数的个数输出到屏幕上。请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。源程序如下:#include #include void

5、fun(int *a,int n)int i,j,cnt=0;for(i=0;in;i+) for(j=2;jai/2) cnt+;return cnt;void main( )int a10,i,cnt;file *fp;if(fp=fopen(test2-1.txt,r)=NULL)printf(Cannot open the file.n);exit(0);for(i=0;i10;i+)fscanf(fp,%d,a+i);printf(%5d,ai);cnt=fun(a,10); printf(ncnt=%dn,cnt);fclose(fp);3.编程题(test1-2.c)编写程序,实

6、现矩阵(3行列)的转置(即行列互换)例如,输入如下的矩阵:100 200 300400 500 600700 800 900则程序输出:100 400 700200 500 800300 600 900注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include void fun(int array33)void main()int i,j;int array33=100,200,300,400,500,600,700,800,900;FILE *out; /*定义文件指针*/for (i=

7、0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);fun(array);printf(Converted array:n);out = fopen(out.dat, w); /*以W方式新建out.dat文件,并让out指针指向该文件*/for (i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);fprintf(out, %7d,arrayij); /*将转置后的数组写到out指针所指的文件out.dat文件中*/printf(n);fprintf(out, n); /*将每写完一行数据就写一个换行符到

8、out指针所指的文件中*/fclose(out); /*关闭文件*/4.编写程序(程序文件名命为test2-2.c)(1)编写函数fun,fun函数的功能是:将一个由二进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含32位二进制数字。例如,若输入11111111,则输出将是255。(2)在main函数中输入二进制数字字符串s的值,调用fun函数,并输出转换后的十进制数。四、实验要求: “实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。五、实验报告填写要求:1、第一页用攀枝花学院实验报告纸,其后用实验报告附页纸。2、第一页填写项目:实验课程:计算机基础2-C语言 实验项目:本次实验名称 实验日期:本次实验日期系: 班级: 姓名: 学号:指导教师:3、实验报告正文要求:实验目的:(抄写本次实验目的)实验仪器设备:PC机一套实验步骤(内容):(要求完成以上第三部分内容,编程题要求抄写题目并写出程序源代码,并记录程序的运行结果)实验结论:(分析通过本次实验掌握的知识或是还有什么遗留问题)4、实验报告写好后将完成的实验报告纸订(或粘)在一起,于下一次上课前交给指导老师。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号