問答題編程,讀入若干行字符(每行不超過80個),寫入文本文件(文件名自定)。

您可能感興趣的試卷

你可能感興趣的試題

2.填空題下列程序?qū)㈡I盤輸入的若干姓名、成績寫入文本文件,寫入過程中文件中的數(shù)據(jù)均按成績從高到低存放。請?zhí)羁諏⒊绦蜓a充完整、正確。#include#includevoidmain(){charname[9],na[9];intscore,sc,i,pt1,pt2,flag;;FILE*p1;if((p1=fopen("d:\\file1.dat","w+"))==NULL){printf("文件不能打開!\n");exit(0);}scanf("%s%d",name,&score);//讀入第一個人的姓名、成績并寫入文件fprintf(p1,"%8s%3d\n",name,score);while(scanf("%s%d",name,&score)!=EOF){//讀入其他人的姓名、成績rewind(p1);//將讀寫位置移動到文件頭while(fscanf(p1,"%8s%3d\n",na,&sc)!=EOF)if(score>sc){fseek(p1,–13,1);pt1=ftell(p1);//確定數(shù)據(jù)的插入位置;pt2=ftell(p1);//確定文件尾部位置for(i=pt2-13;i>=pt1;i=i-13){fseek(p1,i,0);fscanf(p1,"%8s%3d\n",na,&sc);fseek(p1,i+13,0);}fseek(p1,pt1,0);fprintf(p1,"%8s%3d\n",name,score);flag=0;//鍵盤輸入數(shù)據(jù)已插入,標志位置0break;}if(){//若數(shù)據(jù)未插入,則在文件末尾插入//移動文件讀寫位置到文件末尾fprintf(p1,"%8s%3d\n",name,score);}}fclose(p1);}