第八章文件_第1頁
第八章文件_第2頁
第八章文件_第3頁
第八章文件_第4頁
第八章文件_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、第八章 文 件一、單項選擇題1C語言中,文件由( A )。 A字符(字節(jié))序列組成 B記錄組成 C數(shù)據(jù)行組成 D數(shù)據(jù)塊組成2若文件型指針fp中指向某文件的末尾,則函數(shù)feof(fp)的返回值是( C )。 A0B-1C非零值DNULL3. 下列語句將輸出( B ) #include <stdio.h> printf(“%d %d %d”, NULL,0,EOF); A. 0 0 1 B. 0 0 1 C. NULL EOF D. 1 0 EOF4下列語句中,將fp定義為文件型指針的是( B )。 AFILE fp;BFILE *fp;Cfile fp;Dfile *fp;5. 定義

2、FILE *fp; 則文件指針fp指向的是( D )。 A. 文件在磁盤上的讀寫位置 B. 文件在緩沖區(qū)上的讀寫位置C. 整個磁盤文件 D. 文件類型結(jié)構(gòu)體6. 緩沖文件系統(tǒng)的緩沖區(qū)位于( C )。 A. 磁盤緩沖區(qū)中 B. 磁盤文件中C. 內(nèi)存數(shù)據(jù)區(qū)中 D. 程序中7. 以“只讀”方式打開文本文件a:aa.dat,下列語句中哪一個是正確的( D )。 A、fp=fopen(”a:aa.dat”,”ab”); B、fp=fopen(”a:aa.dat”,”a”); C、fp=fopen(”a:aa.dat”,”wb”); D、fp=fopen(”a:aa.dat”,”r”);8. 以“追加”方

3、式打開文本文件a:aa.dat,下列語句中哪一個是正確的( B )。 A、fp=fopen(”a:aa.dat”,”ab”); B、fp=fopen(”a:aa.dat”,”a”); C、fp=fopen(”a:aa.dat”,”r+”); D、fp=fopen(”a:aa.dat”,”w”);9. 如果二進制文件a.dat已存在,現(xiàn)要求寫入全新的數(shù)據(jù),應以什么方式打開( A )。A. “w” B. “wb” C. “w+” D. “wb+”10. 為讀寫建立一個新的文本文件a:aa.dat,下列語句中哪一個是正確的( B )。 A、fp=fopen(”a:aa.dat”,”ab”); B、f

4、p=fopen(”a:aa.dat”,”w+”); C、fp=fopen(”a:aa.dat”,”wb”); D、fp=fopen(”a:aa.dat”,”rb+”);11以讀寫方式打開一個已有的二進制文件filel,并且定義FILE *fp,下面fopen函數(shù)正確的調(diào)用方式是( B )。 Afp=fopen (“file1”, ”r”) Bfp=fopen (“file1”, ”rb+”) Cfp=fopen (“file1”, ”rb”)Dfp=fopen (“file1”, ”wb+”)12標準庫函數(shù)fputs (p1,p2)的功能是( C )。 A從p1指向的文件中讀一個字符串存入p2

5、指向的內(nèi)存 B從p2指向的文件中讀一個字符串存入p1指向的內(nèi)存 C從p1指向的內(nèi)存中讀一個字符串寫到p2指向的文件中 D從p2指向的內(nèi)存中讀一個字符串寫到p1指向的文件中二、填充題1C語言中調(diào)用 fopen 函數(shù)打開文件,調(diào)用 fclose 函數(shù)關(guān)閉文件。2. fopen函數(shù)的返回值是 包含文件緩沖區(qū)信息的FILE結(jié)構(gòu)體地址 。3. 文件操作的三大特征是 文件保存在外存中 , 文件中數(shù)據(jù)有序 , 數(shù)據(jù)數(shù)量可以不定 。4feof函數(shù)可用于 文本 文件和 二進制 文件,它用來判斷即將讀入的是 否為 文件結(jié)束標志 ,若是,函數(shù)值為 非零 。5若ch為字符變量,fp為文本文件指針,從fp所指文件中讀入

6、一個字符時,可用的二 種不同的輸入語句是 ch=fgetc(fp) 和 fscanf(fp,”%c”, &ch) 。把一個字符輸 出到fp所指文件中的二種不同的輸出語句是 fputc(ch,fp) 和fprintf(fp,”%c”, ch) 。6sp=fgets (str, n, fp) ; 函數(shù)調(diào)用語句從 fp 指向的文件輸入 n-1 個字符,并把它們放到 字符數(shù)組str中,sp得到 str 的地址。而 fputs 函數(shù)的作用是向指定的文件輸出 一個字符串,輸出成功函數(shù)返回值為 0 ,fprintf函數(shù)輸出成功函數(shù)返回值為實際輸出的字符數(shù) 。7“FILE *fp”的作用是定義了一個

7、文件型指針變量 ,其中的“FILE”是在 stdio.h 頭文件中定義的。8在對文件進行操作的過程中,若要求文件指針的位置回到文件的開頭,應當調(diào)用的函數(shù)是rewind ( ) 函數(shù)。9下面的程序用來統(tǒng)計文件中字符的個數(shù),請?zhí)羁铡?#include <stdio.h> void main( ) FILE *fp ; long num=0 ; if (fp=fopen (“fname. dat”, ”r”) = =NULL) printf (“Can t open file!n”); exit (0) ; while (!feof (fp) fgetc (fp) ; num+ ; pr

8、intf (“num=%dn”, num) ; fclose (fp) ;10下面程序完成從磁盤文件stu.dat中讀取N個學生的姓名、學號、成績后在屏幕上顯示 輸出。請將程序補充完整。#include <stdio.h>#define N 100struct student char name20; int no; int score; studN;void main () FILE *fp; int i ; if (fp=fopen (“stu.dat”, ”rb”)=NULL) printf (“Can not open file!n”); exit (0); fread (

9、stud, sizeof (struct student), N, fp) ; for (i=0; i<N; i+) printf (“name : %s NO: %d score : %dn”, studi. name, studi. no, studi. score); fclose (fp)11. 開辟一個存儲n個int數(shù)據(jù)的內(nèi)存區(qū)、并將內(nèi)存區(qū)首地址送入p(指向int類型的指 針變量)的語句為 p=(int )malloc(sizeof(int)*n); 。12釋放由fp所指向的內(nèi)存區(qū)的語句為 free(fp); 。13fp為文件位置指針,將fp移到離當前位置25個字節(jié)處的語句為

10、fseek(fp,25L ,1); 。14. 輸入若干個學生的姓名、學號、數(shù)學、英語、計算機成績到文件中student.dat。 #include <stdio.h> void main() FILE *fp; char name8,numb8; int m,e,c,n,i ; scanf("%d",&n); fp=fopen(“student.dat”,”w”); for(i=1;i<=n;i+) scanf("%s%s%d%d%d",name,numb,&m,&e,&c); fprintf(fp,&q

11、uot;%s %s %d %d %dn",name,numb,m,e,c); fclose(fp); ; 15. 下列程序?qū)⑽募.dat、b.dat按原順序(文件中每行一個數(shù),按從小到大排列) 合并到文件c.dat中。 #include <stdio.h> void main() FILE *f1,*f2,*f3; int x,y;if(f1=fopen("a.dat","r")=NULL) printf (“Can not open file!n”); exit (0); if(f2=fopen("b.dat"

12、;,"r")=NULL) printf (“Can not open file!n”); exit (1); if( f3=fopen(“c.dat”,”w”) )=NULL) printf (“Can not open file!n”); exit (2); fscanf(f1,"%d",&x); fscanf(f2,"%d",&y); while(!feof(f1)&&!feof(f2) if(x<y) fprintf(f3,"%dn",x); fscanf(f1,&quo

13、t;%d",&x); else fprintf(f3,"%dn",y); fscanf(f2,"%d",&y); if(feof(f1) fprintf(f3,”%dn”, y ); while(!feof(f2) fscanf(f2,"%d",&y); fprintf(f3,”%dn”,y); else fprintf(f3, “%dn”, x ); while(!feof(f1) fscanf(f1,”%d”,&x); ; fprintf(f3,"%dn",x); fc

14、lose(f1); fclose(f2); fclose(f3); 三、程序分析題1讀程序,指出程序所完成的功能。 include <stdio.h> void main( ) int chl,ch2; while (chlgetchar())!EOF) if (ch1a&& chlz) ch2chl-32;putchar(ch2); else putchar(chl): 該程序的功能是:從鍵盤讀入一個字符,如果是小寫字母,則變成大寫輸出到屏幕上, 否則原樣輸出。當打入ctr1-z(即EOF)時,輸入結(jié)束。2讀程序,寫功能。 #include <stdio.h

15、> void main (int argc, char *argv ) FILE *f1, *f2; char ch; if ( argc<3) printf (“Parameter missing!n”); exit(0); if (f1=fopen (argv1, ”r”) =NULL | (f2=fopen (argv2, ”w”)=NULL) printf (“Can not open file!n”); exit(0); while (!feof (f1) fputc (fgetc (f1), f2); fclose (f1) ; fclose (f2) ;該程序的功能是

16、:在用命令行的形式運行本程序時,必須在程序名后加二個參數(shù),這二個參數(shù)分別表示磁盤上的二個文件名。程序運行后,能把第一個文件的內(nèi)容拷貝到第二個文件。如果命令行缺少參數(shù)或文件打不開,程序終止運行并顯示出錯情況。3讀程序,寫功能。 include <stdio.h> void main( ) FILE *fp: int n0; char ch; if (fpfopen(“fnametxt”,”r”))=NULL) prlntf(“Can not open file!n”);exit(0); while( !feof(fp) chfgetc(fp) ;if(ch= = ) n+; prin

17、tf(“bdn”,n); fclose(fp) ; 該程序的功能是:統(tǒng)計文本文件fname.txt中的空格字符數(shù)。4讀程序,寫功能。 include“stdio.h” void main( ) FILE *f1,*f2; int k; if (f1fopen(“c:tcpl.c”,”r”)= =NULL) printf(“Can not open file!n”); exit(0); if (f2fopen(“a:pl.c”,”w”)= =NULL) printf(“Can not open file!n”); exit(0); for(k1;k<1000 ;k) if( !feof(f

18、1) break ; fputc( fgetc(f1), f2); fclose(f1); fclose(f2); 該程序的功能是:把C盤根目錄下的tc目錄中的文件p1.c復制到A盤的根目錄下, 取同樣的文件名p1.c。如果C盤中的p1.c文件超過1000字節(jié),則最多復制1000字節(jié)。5假定在當前盤當前目錄下有2個文本文件,其名稱和內(nèi)容如下: 文件名 a1.txt a2.txt內(nèi)容 121314# 252627#寫出下列程序運行后的輸出。#include “stdio.h”void main ( ) FILE *fp; void fc (FILE *fp1); if (fp=fopen (“a

19、1.txt”,”r”)=NULL) printf (“Can not open file!n”) ; exit (1); else fc(fp); fclose (fp); if (fp=fopen (“a2.txt”,”r”)=NULL) printf (“Can not open file!n”) ; exit (1) ; else fc (fp); fclose (fp); void fc (FILE *fp1) char c; while ( c=fgetc (fp1) !=#) putchar ( c ) ;該程序先打開a1.txt文件,然后調(diào)用函數(shù)fc( ),把文件中#號字符以前的

20、內(nèi)容在屏幕上現(xiàn)示。再打開a2.txt文件,然后調(diào)用函數(shù)fc( ),把文件中#號字符以前的內(nèi)容在屏幕上接著現(xiàn)示。因此程序運行后輸入 1213142526276. 寫出以下程序運行結(jié)果。 #include<stdio.h> void main( ) 輸出結(jié)果: all=abcdefghijklmnop FILE *fp; int i; seek1 ch=a char s180,s="abcdefghijklmnop" seek2 ch=l if(fp=fopen("alf.dat","wb+")=NULL) seek3 ch3

21、=m printf (“Can not open file!n”) ; exit (1) ; i=sizeof(s); fwrite(s,i,1,fp); rewind(fp); fread(s1,i,l,fp); printf("all=%sn",s1); fseek(fp,0,0); printf("seek1 ch=%cn",fgetc(fp); fseek(fp,10,1); printf("seek2 ch=%cn",fgetc(fp); fseek(fp,1,1); printf("seek3 ch=%cn&qu

22、ot;,fgetc(fp); fclose(fp); 四、程序設計題1編一個程序,從鍵盤輸入 200個字符,存入名為“ f1.txt”的磁盤文件中。 #include “stdio.h”void main ( ) FILE *fp; int i ; if ( fp=fopen (“f1.txt”, ”w”)=NULL) printf (“Can not open file!n”) ; exit (1); for ( i=1; i<=200; i+) fputc (getchar ( ), fp) ; fclose (fp) ;2設計一個復制文本文件的程序,源文件名和目標文件名隨程序執(zhí)行時

23、輸入。 #include <stdio.h>void main (int argc, char *argv ) FILE *f1, *f2; char ch; if (argc<3) printf (“Error! Useage: program_name source_file_name object_file_namen”); exit (0); if (f1=fopen (argv1, ”r”)=NULL) printf (“Can not open source file!n”) ; exit(0); if (f2=fopen (argv2, ”w”)=NULL) p

24、rintf (“Can not open object file!n”) ; exit(1); while (!feof (f1) fputc (fgect (f1), f2); fclose (f1); fclose (f2);3從上一題中建立的名為“ f1.txt”的磁盤文件中讀取120個字符,并顯示在屏幕上。 #include “stdio.h”void main ( ) FILE *fp; int i ; if ( fp=fopen (“f1.txt”, ”r”)=NULL) printf (“Can not open file!n”) ; exit (0); for ( i=1; i

25、<=120; i+) putchar (fgetc ( fp) ; fclose (fp) ;4編一個程序,將磁盤中當前目錄下名為“cow1txt”的文本文件復制在同目錄下,文件名改為“ccw2.txt”。 #include “stdio.h” void main ( ) FILE *f1, *f2; if ( f1=fopen (“ccw1.txt”, ”r”)=NULL) printf (“Can not open file!n”) ; exit (0); if ( f2=fopen (“ccw2.txt”, ”w”)=NULL) printf (“Can not open file

26、!n”) ; exit (1); while (!feof (f1) fputc (fgetc (f1), f2); 5. 把文本文件d1.dat復制到文本文件d2.dat中,要求僅復制d1.dat中的英文字符。 #include <stdio.h> void main( ) FILE *fpd1,*fpd2; char ch; if(fpd1=fopen("d1.dat","r")=NULL) printf (“Can not open file!n”) ; exit (0); if( fpd2=fopen("d2.dat&quo

27、t;,"w"); printf (“Can not open file!n”) ; exit (1); while(fscanf(fpd1,"%c",&ch)!=EOF) if(ch>='A'&&ch<='Z'|ch>='a'&&ch<='z') fprintf(fpd2,"%c",ch); fclose(fpd1); fclose(fpd2); 6. 編程,把文本文件d1.dat復制到d2.dat(其中空格

28、字符不復制)。 #include <stdio.h> void main() FILE *fpd1,*fpd2; char ch; if(fpd1=fopen("d1.dat","r")=NULL) printf (“Can not open file!n”) ; exit (0); if( fpd2=fopen("d2.dat","w")=NULL) printf (“Can not open file!n”) ; exit (1); while(fscanf(fpd1,"%c",

29、&ch)!=EOF) if(ch!=' ') fprintf(fpd2,"%c",ch); fclose(fpd1); fclose(fpd2); 7. 編程,把文本文件d1.dat復制到d2.dat(其中大寫英文字母要轉(zhuǎn)換為小寫字母)。 #include <stdio.h> void main() FILE *fpd1,*fpd2; char ch; if(fpd1=fopen("d1.dat","r")=NULL) printf (“Can not open file!n”) ; exit (0

30、); if(fpd2=fopen("d2.dat","w")=NULL) printf (“Can not open file!n”) ; exit (1); while(fscanf(fpd1,"%c",&ch)!=EOF) if(ch>='A'&&ch<='Z') ch=ch+32; fprintf(fpd2,"%c",ch); fclose(fpd1); fclose(fpd2); 8. 把文本文件d1.dat復制到文本文件d2.dat中,要

31、求僅復制d1.dat中除英文字符和 數(shù)字以外的其它內(nèi)容。 #include <stdio.h> void main() FILE *fpd1,*fpd2; char ch; if(fpd1=fopen("d1.dat","r")=NULL) printf (“Can not open file!n”) ; exit (0); if(fpd2=fopen("d2.dat","w")=NULL) printf (“Can not open file!n”) ; exit (1); while(fscanf(

32、fpd1,"%c",&ch)!=EOF) if(!(ch>='A'&&ch<='Z'|ch>='a'&&ch<='z'|ch>='0'&&ch<='9') fprintf(fpd2,"%c",ch); fclose(fpd1); fclose(fpd2); 9. 求出1至100之間的素數(shù)(只能被1和自身整除的數(shù))并順序?qū)懭胛募u.dat。 #include <s

33、tdio.h> #include <math.h> void main() FILE *fp; int i,j,k=2; if(fp=fopen("su.dat","w")=NULL) printf (“Can not open file!n”) ; exit (0); fprintf(fp,"%4d%4d",2,3); for(i=5;i<100;i=i+2) for(j=3;j<=sqrt(i);j=j+2) if(i%j=0) break; if(j>sqrt(i) fprintf(fp,&q

34、uot;%4d",i); k+; if(k%10=0) fprintf(fp,"n"); fclose(fp);10磁盤文件a1和a2,各自存放一個已按字母順序排好的字符串,編程合并二個文件到a3文件中,合并后仍保持字母順序。 #include <stdio.h> #include <math.h> void main() FILE *fp1,*fp2,*fp3; int i,j,k; char c1,c2; if(fp1=fopen("a1","r")=NULL) printf (“Can not

35、open file!n”) ; exit (0); if( fp2=fopen("a2","r")=NULL) printf (“Can not open file!n”) ; exit (1); if(fp3=fopen("a3","w")=NULL) printf (“Can not open file!n”) ; exit (2); c1=fgetc(fp1); c2=fgetc(fp2); /* 首先從文件a1、a2中各讀入一個字符分, do 別送入變量c1、c2,作循環(huán)比較 */ if(c1<c2)

36、 fputc(c1,fp3);c1=fgetc(fp1); else fputc(c2,fp3); c2=fgetc(fp2); while(!feof(fp1)&&!feof(fp2); /* 直到讀到文件尾標志為止 */ / 若a1先讀到文件尾,則將c2寫入a3,再將a2中其它字符讀入后寫入a3;. if(feof(fp1) do fputc(c2,fp3); c2=fgetc(fp2); while(!feof(fp2) ; else do fputc(c1,fp3); c1=fgetc(fp1); while(!feof(fp1) ; fclose(fp1); fclo

37、se(fp2); fclose(fp3); 11順序文件 c.dat 每個記錄包含學號(8位字符)和成績(三位整數(shù))兩個數(shù)據(jù)項。從文件讀入學生成績,將大于或等于60分的學生成績再形成一個新的文件score60.dat保存在A盤上,并顯示出學生總?cè)藬?shù)、平均成績和及格人數(shù)。 #include <stdio.h> #include <math.h> void main() FILE *fp1,*fp2; char s9; int x,sn=0, cs=0, jn=0; fp1=fopen("c.dat","r"); fp2=fopen(

38、"a:score60.dat","w"); fscanf(fp1,"%s%d",s,&x); do sn+; cs+=x; if(x>=60) jn+; fprintf(fp2,"%s %dn",s,x); fscanf(fp1,"%s%d",s,&x); while(!feof(fp1); printf("總?cè)藬?shù):%d 平均成績:%d 及格人數(shù):%dn",sn, cs/sn, jn); fclose(fp1); fclose(fp2); 12編程序?qū)γ?/p>

39、為“CCW.TXT”的磁盤文件中“”之前的所有字符加密,加密的方法 是每個字節(jié)的內(nèi)容減10。 設計思路:從文件 CCW.TXT中讀一個字符(字節(jié)),減10后寫到一臨時文件 TMPCCWTXT,直到讀到字符。然后兩文件反繞到頭,從文件TMPCCWTXT 中讀一個字符,寫回到文件CCW.TXT,把原字符復蓋。因此兩文件以r+和w+的形式打開。 #include “stdio.h”void main( ) FILE *fp1, *fp2; char ch; if ( fp1=fopen (CCW.TXT, r+)=NULL) printf (Can not open file!n) ; exit (

40、0); if ( fp2=fopen (TMPCCW.TXT, w+)=NULL) printf (Can not open file!n) ; exit (1); while(ch=fgetc(fp1)!=) fputc(ch-10, fp2); rewind(fp1); rewind(fp2); do ch=fgetc(fp2); if(!feof(fp2) fputc(ch, fp1); while(!feof(fp2) ; fclose(fp1); fclose(fp2) ; 13編程序?qū)ι弦活}中名為“CCW.TXT”的磁盤文件中“”字符之前的所有字符解密 并顯示。 #include

41、“stdio.h” void main( ) FILE *fp1; char ch; if ( fp1=fopen (CCW.TXT, r)=NULL) printf (Can not open file!n) ; exit (0); while(ch=fgetc(fp1)!=) putchar (ch+10) ; fclose (fp1); 14輸入100個學生的信息(含學號、姓名、年齡、7科成績、總分),統(tǒng)計所有學生的 總分,然后存入磁盤二進制數(shù)據(jù)文件student.dat中。然后再讀取該文件,尋找總分 最高的學生并輸出該學生的所有信息。 方法一、定義一個結(jié)構(gòu)變量,每輸入一個學生信息,即存

42、人磁盤二進制數(shù)據(jù)文件student.dat中。建立存有100個學生信息的文件后,設計一個總分為 0的 hs學生,再打開讀取該文件,每讀入一個學生信息,即與hs比較,尋找總分最高的學生在hs,并輸出該學生的所有信息。 include <stdioh> include <string. h> tinclude <stdlibh> void main( ) struct student int sno ; char sn20 ; int sage ; float sg7 ; float sum ; s, t, hs ; FILE *fp ; int i, j ;

43、if (fp=fopen (student.dat, wb)=NULL) printf (Can not open file!n) ; exit (0); printf (以學號 姓名 年齡 成績1 成績2 成績3 成績4 成績5 成績6 成績7的形式輸入:n); for (i=0; i<100; i+) printf (學生%d:n,i+1); scanf (%d,&s.sno) ; scanf (%s,s.sn) ; scanf (%d,&s.sage) ; s. sum=0 ; for (j=0; j<7; j+) scanf (%f,&s.sgj)

44、; s.sum=s.sum+s.sgj ; fwrite (&s, sizeof (struct student), 1, fp); fclose (fp) ; if ( fp=fopen(student.dat, rb)=NULL) printf (Can not open file!n) ; exit (0); hs.sum=0; while (!feof (fp) fread (&t, sizeof (struct student), 1, fp); if (t.sum>hs.sum) hs.sno=t.sno ; strcpy (hs.sn, t.sn) ; /

45、必須用strcpy( )函數(shù)復制 hs.sage=t.sage; for (j=0; j<7; j+) hs.sgj=t.sgj; hs.sum=t.sum ; printf (總分最高的學生是 ); printf(學號:%d 姓名:%s 年齡:%dn, hs.sno, hs.sn, hs.sage); printf(成績1 成績2 成績3 成績4 成績5 成績6 成績7總分n); for(j=0; j<7; j+) printf(%5.1f, hs.sgj) ; printf(%5.1fn, hs.sum);方法二、定義一個100個元素的結(jié)構(gòu)數(shù)組s,輸入100個學生的信息后,一次

46、存入磁盤二進制數(shù)據(jù)文件student.dat中。再打開該文件,讀入100個學生信息到100個元素的結(jié)構(gòu)數(shù)組t中。數(shù)組t中,用結(jié)構(gòu)指針sp和hsp尋找總分最高的學生,使hsp指向它,并輸出該學生的所有信息。void main( ) struct student int sno ; char sn20 ; int sage ; float sg7 ; float sum ; s100, t100, *sp, *hsp; FILE *fp ; int i, j ; float hsum=0; if (fp=fopen (student.dat, wb)=NULL) printf (Can not o

47、pen file!n) ; exit (0); printf (以學號n 姓名n 年齡n成績1 成績2 成績3 成績4 成績5 成績6 成績7的形式輸入:n); for (i=0; sp=s; i<100; i+, sp+) printf (學生%d:n,i+1); scanf (%d,&sp->sno) ; scanf (%s,sp->sn) ; scanf (%d,&sp->sage) ; sp->sum=0 ; for (j=0; j<7; j+) scanf (%f,&sp->sgj) ; sp->sum=sp-&

48、gt;sum+sp->sgj ; fwrite (s, sizeof (struct student), 100, fp); fclose (fp) ; if ( fp=fopen(student.dat, rb)=NULL) printf (Can not open file!n) ; exit (0); fread (t, sizeof (struct student), 100, fp); for (i=0; hsp=t; sp=t i<100; i+, sp+) if (sp->sum>hsum) hsnm=sp->sum; hsp=sp printf (總分最高的學生是 ); printf(學號:%d 姓名:%s 年齡:%dn, hsp->sno, hsp-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論