- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计实验报告册第十次
C语言程序设计
实验报告册
《C语言程序设计》实 验 报 告
学号: 姓名: 班级: 成绩:
实验名称: 文件 实验地点: 所使用的开发工具及环境:pc机一套 实验目的:
1.熟悉文件和文件指针的概念以及文件指针的定义方法。
2.掌握文件打开和关闭的概念和方法。
3.掌握常用的关于文件操作库函数的使用。
实验内容:
1、程序调试题(文件名为test1-1.c)
磁盘上有一个名为test1-1.c的C程序文件,其中函数fun的功能是:在字符串a中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用fun函数之前字符串为:123aBYdZf,调用后字符串中的内容为:f123aBYdZ。
在main函数中,从文本文件test1-1.txt中读出字符串放入一维数组a中,调用fun函数构成新的数组,在主函数中输出处理后的结果。
请改正程序中的错误,使它能得出正确结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:
#includestdio.h
#include stdio.h
#includestring.h
fun(char *p)
{ char max,*q; int i=0;
max=p[i];
while(p[i]!=0)
{ if(maxp[i])
{ max=p[i];
q=p+1;
}
i++;
}
while(qp)
{ *q=*(q-1);
q++;
}
p[0]=max;
}
void main( )
{ FILE *fp;
char a[255];
int i=0;
if((fp=fopen(test1-1.txt,r))==NULL)
{ printf(Cannot open the file.\n);
exit(0);
}
while(1)
{ a[i++]=fgets(fp);
if(a[i]==EOF) break;
i++;
}
a[i]=\0;
printf(The original string : );
puts(a);
fun(a);
printf(The string of changing is :: %s\n\n,a);
fclose(fp);
}
2.程序调试题(文件名为test2-1.c)
磁盘上有一个名为test2-1.c 的C程序文件,其中函数fun的功能是:统计数组a中素数的个数,并将个数作为函数值返回。
在main函数中,从文件test2-1.txt中读出10个整数放入整型数组中,调用fun函数,将整型数组的10个数及素数的个数输出到屏幕上。
请改正程序中的错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构。
源程序如下:
#include stdio.h
#include stdlib.h
int fun(int *a,int n)
{ int i,j,cnt=0;
for(i=0;in;i++)
{ for(j=2;j=i/2;j++)
if(i%j==0) continue;
if(ja[i]/2) cnt++;
}
return cnt;
}
void main( )
{ int a[10],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++)
{ scanf(fp,%d,a+i);
printf(%5d,a[i]);
}
cnt=fun(a,10);
printf(\ncnt=%d\n,cnt);
fclose(fp);
}
3.编程题(test1-2.c)
编写程序,实现矩阵(3行列)的转置(即行列互换)
例如,输入如下的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include stdio.h
#include conio.h
void fun(int array[3][3])
{
}
main()
{
in
文档评论(0)