實(shí)驗(yàn)九 文件
【目的與要求】
1.掌握文件和文件指針的概念以及文件的定義方法。
2.了解文件打開和關(guān)閉的概念和方法。
3.掌握有關(guān)文件的函數(shù)。
【上機(jī)內(nèi)容】
【一般示例】
【例1】對(duì)data.dat文件寫入100條記錄。
#include
main()
{FILE *fp;
int i;
float x;
fp=fopen("date.dat","w");
for(i=1;i<=100;i++)
{scanf("%f",&x);
fprintf(fp,"%f\n",x);
}
fclose(fp);
}
【例2】設(shè)有一文件cj.dat存放了50個(gè)人的成績(jī)(英語(yǔ)、計(jì)算機(jī)、數(shù)學(xué)),存放格式為:每人一行,成績(jī)間由逗號(hào)分隔。計(jì)算三門課平均成績(jī),統(tǒng)計(jì)個(gè)人平均成績(jī)大于或等于90分的學(xué)生人數(shù)。
#include
main()
{FILE *fp;
int num;
float x , y , z , s1 , s2 , s3 ;
fp=fopen ("cj.dat","r");
{fscanf (fp,"%f,%f,%f",&x,&y,&z);
s1=s1+x;
s2=s2+y;
s3=s3+z;
if((x+y+z)/3>=90)
num=num+1;
}
printf("分?jǐn)?shù)高于90的人數(shù)為:%.2d",num);
fclose(fp);
}
【例3】統(tǒng)計(jì)上題cj.dat文件中每個(gè)學(xué)生的總成績(jī),并將原有數(shù)據(jù)和計(jì)算出的總分?jǐn)?shù)存放在磁盤文件“stud”中。
#include "stdio.h"
main()
{
FILE *fp1,*fp2;
float x,y,z;
fp1=fopen("cj.dat","r");
fp2=fopen("stud","w");
while(!feof(fp1))
{
fscanf (fp1,"%f,%f,%f",&x,&y,&z);
printf("%f,%f,%f,%f\n",x,y,z,x+y+z);
fprintf(fp2,"%f,%f,%f,%f\n",x,y,z,x+y+z);
}
fclose(fp1);
fclose(fp2);
}
【作業(yè)】
1. 有 5個(gè)學(xué)生,每個(gè)學(xué)生有3門課的成績(jī),從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號(hào),姓名,三門課成績(jī)),計(jì)算出平均成績(jī),將原有數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤文件“stud”中。
2. 將上題“stud”文件中的學(xué)生數(shù)據(jù),按平均分進(jìn)行排序處理,將已排序的學(xué)生數(shù)據(jù)存入一個(gè)新文件“stu_sort”中。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題預(yù)告:名師解析2010年9月計(jì)算機(jī)等級(jí)考試試題答案
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |