9-2 统计素数 (10 分)
实验9 文件 一、实验目的
(1)掌握文件以及缓冲文件系统、文件指针的概念。
(2)学会使用文件打开、关闭、读写等文件操作函数。
(3)掌握对文件进行字符写、块读写的方法。
(4)巩固文件教学单元的知识。
二、实验内容
1、一批整数保存在文本文件in.txt中,统计出的所有整数中素数的个数并保存在out.txt文件中。
注意:建立测试in.txt时,整数之间用空格分隔。
重要提示:自己编写的程序命名为test.cpp,本地测试test.cpp时,访问in.txt和out.txt不用带路径,当打包提交时test.cpp中in.txt和out.txt的路径修改为./src/
提交之前,将由题目提供的原始in.txt和test.cpp放在src文件夹下,然后在src文件夹的上层文件夹中压缩src.zip,保证这个zip文件中有src文件夹和其中的test.cpp文件。
如果使用WinRAR、7z等压缩软件,请注意压缩文件的格式为zip,而不是压缩为其他格式后修改后缀为zip。目前已知使用Windows的资源管理器的右键菜单中的“发送到压缩(zipped)文件夹“功能产生的zip文件不被PTA所接受。Unix的zip命令压缩的文件夹可以接受。
样例输入(即in.txt文件内容):17 33 55 31
样例输出(即out.txt文件件内容):2
*以上大概看看得了 我是一开始读了几遍都读不懂 0.0*
下面放出代码
#include<stdio.h>#include<stdlib.h>intmain(){
FILE *fp1,*fp2;if((fp1=fopen("in.txt","r"))==NULL){printf("can't open this file.\n");exit(0);}//扫描in.txtif((fp2=fopen("out.txt","w"))==NULL){printf("can't creat this file.\n");exit(0);}//扫描out.txtint s,i=0,j;while(fscanf(fp1,"%d",&s)==1)//读取文件数据{if(s==2){
i++;continue;}int f=1;for(j=2;j*j<=s;j++){if(s%j==0){
f=0;break;}}if(f)
i++;}fclose(fp1);fprintf(fp2,"%d",i);//写入数据;fclose(fp2);return0;}
接下来是最搞人的上传PTA环节!
1.下载题目提供的模板;
2.将写好的c代码 .cpp 文件放到 scr 文件夹里面
注意 scr 文件夹内要包含以下文件
即你在本地测试的全部文件
3.将scr 文件夹用任意压缩软件打包成.zip格式的压缩包(虽然题目上说不承认zipped产生的压缩包 ,但是我用的就是!)
Last:将该文件上传至pta上传通道。
答题成功。
版权归原作者 GC 2020 所有, 如有侵权,请联系我们删除。