最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機二級C語言上機題庫(六)

2021-03-01 08:09 作者:朝顏晚扶桑  | 我要投稿

187、在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符串相同的串,找到后返回該串在字符串?dāng)?shù)組中的位置(下標(biāo)值),未找到則返回-1。 ss所指字符串?dāng)?shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。

Int fun(char (*ss)[M],char *t)

{int i;for(i=0;i<N;i++)if(strcmp(ss[i],t) = =0)return i;return -1;}

main()

{char ch[N][M]={---};t[M];int n,i;printf(--);for(i=0;i<N;i++)puts(ch[i]); printf(--);printf(--);gets(t);n=fun(ch,t);if(n= =-1) printf(--);

else printf(--);}

188、在形參ss所指字符串?dāng)?shù)組中查找含有形參substr所指字符串并輸出,若沒找到則輸出相應(yīng)信息,ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。程序中庫函數(shù)strstr(s1,s2)的功能是在s1串中查找s2子串,若沒有,函數(shù)值為0,若有為非0.

Void fun(char (*ss)[M],char *substr)

{int i,find=0;for(i=0;i<N;i++)if(strsrr(ss[i],substr)l=NULL){ find=1; puts(ss[i]); printf(--);if(find= =0) printf(--);}}

189、求ss所指字符串?dāng)?shù)組中長度最長的字符串所在的行小標(biāo),作為函數(shù)值返回,并把其串長放在形參n所指變量中。ss所指字符串?dāng)?shù)組中共有M個字符串,且串長小于N。

int fun(char (*ss)[N],int *n)

{int i,k=0,len=0; for(i=0;i<M;i++){len=strlen(ss[i]);if(i= =0)*n=len;if(len >*n){ *n=len?;k=i;}}return (k);}

190、求ss所指字符串?dāng)?shù)組中長度最短的字符串所在的行小標(biāo),作為函數(shù)值返回,并把其串長放在形參n所指變量中。ss所指字符串?dāng)?shù)組中共有M個字符串,且串長小于N。

int fun(char (*ss)[N],int *n)

{int i,k=0,len=N; for(i=0;i<M;i++){len=strlen(ss[i]);if(i= =0)*n=len;if(len <*n){ *n=len ;k=i;}}return (k);}

191、在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過K的字符串,函數(shù)返回所剩字符串的個數(shù),ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。

int fun(char (*ss)[M],int k)

{int i,j=0,len; for(i=0;i<N;i++){len=strlen(ss[i]);if(len<=k)strcpy(ss[j++],ss[i]);}return j;}

192、在形參ss所指字符串?dāng)?shù)組中,將所有串長超過K的字符串右邊的字符刪除,只保留左邊的K個字符串,數(shù)組中共有N個字符串,且串長小于M。

int fun(char (*ss)[M],int k)

{int i;while(i<N){ss[i][k]

}=0;i++;}}

193、計算出形參s所指字符串中包含的單詞個數(shù)作為函數(shù)值返回。為便于統(tǒng)計,規(guī)定各單詞之間用空格隔開。例如:形參s所指字符串為:This is a C language program,函數(shù)的返回值為6。

int fun(char *s)

{int n=0,flag=0;while(*s!=\0){if(*s!=??&&flag= =0){n++;flag=1;} if(*s!=??) flag=0;s++;}return n;}

四、結(jié)構(gòu)體

194、將形參s所指字符串所有ASCII碼值小于97的字符存入形參t所指字符數(shù)組中,形成新串,并統(tǒng)計出符合條件的字符個數(shù)作為函數(shù)值返回,例如,形參s所指字符串為:Abc@1X56*,程序執(zhí)行后t所指字符數(shù)組中的字符串應(yīng)為:A@156*。

int fun(char *s, char *t)

{ int n=0; while(*s){*(t+n)=*s;n++;}s++;}*(t+n)=0; return?n;}

四、結(jié)構(gòu)體

195、建立一個帶頭結(jié)點的單向鏈表并輸出到文件“out98.dat”和屏幕上,各結(jié)點的值為對應(yīng)下標(biāo),鏈表的結(jié)點數(shù)及輸出的文件名作為參數(shù)傳入。

Void fun(int n,char *filename)

{NODE *h,*p,*s;FILE *pf;int i;h=p=(NODE *)malloc(sizeof(NODE));h->data=0;for(i=1;i<n;i++){ s=(NODE *)malloc

sizeof(NODE)); s->data=i; p->next=s; p=p->next; p->next=NULL;if((pf=fopen(filename,w))= =NULL)printf(---);exit(0);}

fprintf(pf,--); printf(---);while(p)(fprintf(pf,%3d,p->data);if(p->next!=NULL){fprintf(pf,>);printf(->);}p=p->next);}

fprintf(pf,\n);printf(\n);fclose(pf);p=h;while(p){s=p;p=p->next;free(s);}

196、給定程序中已建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大順序鏈接。函數(shù)的功能是:把形參x的值放入一個新結(jié)點并插入到鏈表中,插入后各結(jié)點仍保持從小到大順序排列。

Void fun(SLIST *h,int x)

{ SLIST *p,*q,*s;s=( SLIST *)malloc(sizeof(SLIST ));s->data=x;q=h;p=h->next;while(p!=NULL&&x>p->data){q=p;p=p->next;}

s->next=p;q->next=s;}}

197、對N名學(xué)生的學(xué)習(xí)成績,按從高到底的順序找出前m(m≤10名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個動態(tài)分配的連續(xù)存儲區(qū)中,此存儲區(qū)的首地址作為函數(shù)值返回。

STU *fun(STU a[],int m)

{ STU b[N],*tt;int I,j,k;tt=( STU *)malloc(sizeof(STU)*m);for(i=0;i<N;i++)b[i]=a[i];for(k=0;k<m;k++)

{for(i=j=0;i<N;i++)if(b[i].order> b[j].order)j=i;tt[k]=b[j]; b[j].order =0;}return tt;}

198、函數(shù)的功能是將存學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序(從小到大排序)。

Void fun(struct student a[],int n)

{ struct student?t;int i,j;for(i=0; i<n-1;i++) for(j=i+1; j<n;j++)if(strcmp(a[i].name, a[j].name))>0

t= a[i]; a[i]= a[j]; a[j]=t;}

199、給定程序中已建立一個帶有頭結(jié)點的單向鏈表,在main函數(shù)中將多次調(diào)用,每調(diào)用一次fun函數(shù),輸出鏈表尾部結(jié)點中的數(shù)據(jù),并釋放該結(jié)點,使鏈表縮短。

Void fun(SLIST *p)

{ SLIST *t, *s; t=p->next;s=p;while(t->next!=NULL){s=t;t=t->next;}printf(%d,?t->data); t->next =NULL;free(t);}

200、已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體中,給定程序的功能是找出成績最低的學(xué)生記錄,并通過形參返回主函數(shù)。

fun(STU a[],STU s)

{ STU??h;int I;h=a[0];for(i=1;i<N;i++)if(a[i].s<h.s)h=a[i];*s=h;}

201、給定程序中已建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按數(shù)據(jù)域遞增有序鏈接。刪除鏈表中的數(shù)據(jù)域相同的結(jié)點,使之只保留一個。

Void fun(SLIST *h)

{ SLIST *p,*q; p=h->next;if(p!=NULL){q=p->next;while(q!=NULL) if(p->data= = q->data){ p->next =q->next; free(q); q=p->next;}

Else{p=q; q=q->next;}}}

202、建立一個帶有頭結(jié)點的單向鏈表,并用隨機函數(shù)為各結(jié)點賦值。函數(shù)fun的功能是將單向鏈表結(jié)點(不包括頭結(jié)點)數(shù)據(jù)域為偶數(shù)的值累加起來,并且作為函數(shù)值返回。

Int fun(NODE *h)

{int sum=0;?NODE?*p;p=h->next;while(p){if(p->data%2= =0)sum+=p->data ;p= p->next?;}return sum; }

203、在帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域值為ch的結(jié)點。找到后通過函數(shù)值返回該結(jié)點在鏈表中所處的順序號;若不存在值為ch的結(jié)點,函數(shù)返回0值。

Void outlist(SLIST *)

Int fun(SLIST *h,char ch )

{ SLIST *p;int n=0;p=h->next;while(p!=0){n++;if(p->data= =ch)return n;else p= p->next?;}return 0;}

main()

{ SLIST *head;int k;char ch;char a[N]={---};head=creatlist(a);outlist(head);printf(---);scanf(%c,&ch);k=fun(head,ch);if(k= =0)

printf(---);else printf(---);}

204、統(tǒng)計出帶有頭結(jié)點的單向鏈表中的結(jié)點個數(shù),存放在形參n所指的存儲單元中。

void fun(SLIST *h,int *n )

{ SLIST *p;(*n)=0; p=h->next; while(p){ (*n)++; p=p->next;}}

main()

{ SLIST *head;int a[N]={---},num;head= creatlist(a); outlist(head); fun(head,&num); printf(---);}

205、計算出帶有頭結(jié)點的單向鏈表中各結(jié)點數(shù)據(jù)域之和作為函數(shù)值返回。

int fun(SLIST *h)

{ SLIST *p;int s=0; p=h->next; while(p){ s+=p->data; p=p->next;}return s;}

main()

{ SLIST *head;int a[N]={---},num;head= creatlist(a); outlist(head); printf“\nsum=%d\n, fun(head); }

206、人員的記錄由編號和出生年、月、日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組str中,且編號唯一函數(shù)fun的功能是;找出指定編號人員的數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,若指定編號不存在,返回數(shù)據(jù)中的編號為空串。

STU?fun(STU *std,char *num)

{int I;STU a={"",9999,99,99};for(i=0;i<N;i++)if(strcmp(std[i].num,num)=0}return (std[i]);return a;}

207人員的記錄由編號和出生年、月、日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中。函數(shù)fun的功能是:找出指定出生年份的人員,將其數(shù)據(jù)放在形參k所指的數(shù)組中。

int fun(STU*std,STU*k,int year)

{int i,n=0;

for(i=0;j<N;i++)if(std[i].year==year)k[n++]=std[i];return (n);}

208通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲了一名學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將該學(xué)生的各科成績都乘以一個系數(shù)a。

void modify(STU*ss,float a)

{int i;for(i=0;i<3;i++)

ss->score[i]*=a;}

main()

{STU std={}float a;printf("");show(std);printf("\nInput a number:");scanf("%f"&a);modify(&std,a);

printf("\nA result of modifying:\n")show(std);}

209、將形參指針?biāo)附Y(jié)構(gòu)體數(shù)組中的二個元素按num成員進(jìn)行升序排列。Void fun(PERSON std[3])

void fun(PERSON std[3])

{PERSON?temp;if(std[0];num>std[1].num){temp=std[0];std[0]=std[1];std[1]=temp;}if(std[0].num>std[2].num){temp=std[0];std[0]=std[2];

std[2]=temp;}if(std[1].num>std[2].num){temp=std[1];std[1]=std[2];std[2]=temp;}}

main()

{PERSON std[]={…};int i;fun(std);printf("\nThe result is :\n")for(i=0;i<3;i++)printf("%d,%s\n",std[i].num,std[i].name);}

210將形參std所指結(jié)構(gòu)體數(shù)組中年齡最大者的數(shù)據(jù)作為函數(shù)值返回。

STD fun(STD std[],int n){STD max;int i;max= *std;for(i=1;i<n;i++)if(max.age<std[i].age)max=std[i];return max;}

main()

{STD std[5]={}STD max;max=fun(std,5);printf("\nThe result :\n");printf("",max.name,max.age);}

211程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)員、姓名和3門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號和姓名,最后輸出修改后的數(shù)據(jù)。例如:a所指變量中的學(xué)號、姓名、和三門課的成績依次是:10002、”LiSi”9580、88

void fun(struct student a)

{struct student b;int i;b=a;b.sno=10002;strcpy(b.name,"Lisi");printf();printf();for (i=0;i<3;i++)

printf("%6.0f",b.score[i]);}

212、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量S中的數(shù)據(jù)進(jìn)行修改,并把a中地址和為函數(shù)值返回主函數(shù),在主函中輸出修改后的數(shù)據(jù)。例如:a所指變量S的學(xué)號、姓名和三門課的成績依次是:10001、ZhangSan、95、80、88,修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、LiSi、96、81、89。

struct student *fun(struct student*a)

{int i;a->sno=10002;

strcpy(a->name,"LiSi");for(i=0;i<3;i++)a->score[i]+=1;return a;}

213、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行修改,最后在主函數(shù)中輸出修改后的數(shù)據(jù)。例如:b所指變量t的學(xué)號、姓名和三門課的成績依次是:10002ZhangQi、95、85、87,修改后輸出t中的數(shù)據(jù)應(yīng)為:10004Lijie、93、85、87。

void fun(struct student b)

{b>sno=10004;strcpy(b->name,Lijie);}

main()

{struct student t={1002…87};int i;

printf(…);printf(…);for(i=0;i<3;i++)printf(…);fun(&t);……

214、將不帶頭節(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序,即若原鏈表結(jié)點數(shù)據(jù)為:10,4,28,6,排序后鏈表結(jié)點數(shù)據(jù)域從頭數(shù)據(jù)域從頭尾的數(shù)值為2,46,8,10

void fun(NODE *h)

{NODE *p,*q;int t;p=h->next;

while(p)

{q=p->next;while(q){if(p->data>=q->data){t=p->data;p->data=q->data;q->data=t}q=q->next;}p=p->next;}}

215將不帶并沒有節(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序,即若朱鏈表結(jié)點數(shù)據(jù)為:10,42,86,排序后鏈表結(jié)點數(shù)據(jù)域從頭尾的數(shù)值為:2,4,68,10

void fun(NODE *h)

{NODE *p,*q;int t;while(p){q=p->next;while(q){if(p->data>q->data){t=p->data;p->data=q->data;

q->data=t;}q=q->next;}p=p->next;}}

216、將不帶頭節(jié)點的單向鏈表逆置,即若原鏈表中從頭至尾結(jié)點數(shù)據(jù)域依次為2,4,68,10;逆置后,從頭至尾結(jié)點數(shù)據(jù)域依次為:10,8,6,42。

void fun(NODE *h)

{Node *p,*q,*r;p=h->next;if(p= =0)return 0;q=p->next;p->next=NULL;while(q){r=q->next;q->next=p;p=q;q=r;}h->next=p;})

五、文件題

217把文本文件B中的內(nèi)容追加到文本文件A的內(nèi)容之后。例如,文件B的內(nèi)容為I’mten.,文件A的內(nèi)容為I’mastudent!,追加之后文件A的內(nèi)容為Imastudent!,追加之后文件A的內(nèi)容為Im a student!I’m ten.

main()

{FILE *fp,*fp1,*fp2;int i;char c[N],t,ch;if((fp=fopen("A.dat","r"))==NULL){printf("fileA cannot be opened\n");exit(0);}printf("\n A contents are:\n\n");for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);}

fclose(fp);if((fp=fopen("B.dat","r"))==NULL){printf("file B cannot be opened\n");

exit(0);}printf("\n\n\nB contents are:\n\n");for(i=0;(ch=fgetc(fp))!=EOF;i++)

{c[i]=ch;putchar(c[i]);}fclose(fp);if((fp=fopen("B.dat","r"))==NULL){printf("file B cannot be opened\n");

exit(0);}printf("\n\n\nB contents are:\n\n");for(i=0;(ch=fgetc(fp))!=EOF;i++)

{c[i]=ch;putchar(c[i];}fclose(fp);if((fp1=fopen("A.dat","a"))&&(fp2=fopen("B.dat","r")))

{while((ch=fgetc(fp2))!=EOF)fputc(ch,fp1);}else

{printf("Can not open A B !\n")}fclose(fp2);fclose(fp1);printf("\n***new A contents***\n\n");

if((fp=fopen("A.dat","r"))==NULL){printf("file A cannot be opened\n");exit(0);}

for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;put char(c[i]);}fclose(fp);}

218、先以只寫方式打開文件out99.dat,再把字符串str中的字符保存到這個磁盤文件中。

main()

{FILE *fp;int i=0;char ch;char str[N]="I'm a student!";

if((fp=fopen("out99.dat","w"))= =NULL){printf(cannot open out99.dat\n");exit(0);}while(str[i]){ch=str[i];

fputc(ch,fp);puthcar(ch);i++;}fclose(fp);}

219、從鍵盤輸入若干行文件(每行不超過80個字符),寫到文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)志。然后將文件的內(nèi)容讀顯示在屏幕上。

void WriteText(FILE *fw)

{char str[81];printf("\nEnter string with -1")!=0){fputs(str,fw);fputs("\n",fw);gets(str);}}

void ReadText(FILE *fr){char str[81];printf("\nEnter string with -1 to end :\n");

gets(str);while(strcmp(str,"-1")!=0){fputs(str,fw);fputs("\n",fw);gets(str);}}

void ReadText(FILE *fr)

{char str,81,fr);

while(!feof(fr)){printf("%s",str);

fgets(str,81,fr);}}

220、將自然數(shù)1~10以及它們的平方根寫到名為myfile3.txt的文本文件中然后再順序讀出顯示在屏幕上。

int fun(char *fname)

{FILE *fp;int i,n;float x;if((fp=fopen(fname,"r"))==NULL)return 0;

for(i=1;i<=10;i++)fprintf(fp,"%d%f\n",i,sqrt((double)i));printf("\nSucceed!\n");fclose(fp);

printf("\nThe data in file:\n");if((fp=fopen(fname,"r"))==NULL)return0;fscanf(fp,"%d%f",&n,&x);

while(!feof(fp)){printf("%d %f\n",n,x);fscanf(fp,"%d%f",&n,&x);}fclose(fp);return 1;}

221、將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時函數(shù)返回值是1,失敗時返回值為0。在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放在變量tfname中。

int fun(char *source,char*target)

{FILE *fs,*ft;char ch;if((fs=fopen(source,"r"))==NULL)return 0;if((fs=fopen(target,"w"))==NULL)

return 0;printf("\nThe data in file:\n");ch=fgetc(fs);while(!feof(fs)){putchar(ch);fputc(ch,ft);ch=fgetc(fs);}

fclose(fs);fclose(ft);printf("\n\n");return 1;}

222、建立班級通訊錄、通訊錄中記錄每位學(xué)生的編號、姓名和電話號碼。班級的人數(shù)和學(xué)生的信息從鍵盤讀入,每個人的信息作為一個數(shù)據(jù)塊寫到名為myfile5.dat的二進(jìn)制文件中。

int fun(STYPE?*std)

{FILE *fp;int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\noutput data to file!\n");

for(i=0;i<N;i++)fwrite(&std[i].sizeof(STYPE),1,fp);fclose(fp);return (1);}

223將形參給定的字符串、整數(shù)、浮點數(shù)寫到文本文件中,再用字符方式從此文本文件中逐個讀入并顯示在終端屏幕上。

void fun(char *s,int a,double f)

{FILE *fp;char ch;fp=fopen("file1.txt","w");fprintf(fp,"%s %d %f\n",s,a,f);

fclose(fp);fp=fopen("file1.txt","r");printf("\nThe result :\n\n");ch=fgetc(fp);while(!feof(fp))

{putchar(ch);ch=fgetc(fp);}putchar(‘\n);fclose(fp);}

224、將形參給定的字符串、整數(shù)、浮點數(shù)寫到文本文件中,再用字符串方式從此文本文件中逐個讀入,并調(diào)用庫函數(shù)atoiatof將字符串轉(zhuǎn)換成相應(yīng)的整數(shù)、浮點數(shù),然后將顯示在屏幕上。

void fun(char *s,int a,double f)

{FILE?*fp;int a1;double f1;charstr[100],str1[100],str2[100];fp=fopen("file1.txt","w");

fprintf(fp,"%s%d%f\n",s,a,f);fclose(fp);fp=fopen("file1.txt","r");fscanf(fp,"%s%s%s",str,str1,str2);

fclose(fp);a1=stoi(str1);f1=atof(str2);printf("%s%d%f",str,a1,f1);}

225、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學(xué)生數(shù)據(jù),并按照學(xué)號從小到大排序后,再用二進(jìn)制方式把排序后的學(xué)生數(shù)據(jù)輸出到filename所指的文件中讀入學(xué)生數(shù)據(jù),并按照學(xué)號從小到大排序后,再用二進(jìn)制方式把排序后的學(xué)生數(shù)據(jù)輸出到filename所指的文件中,覆蓋原來的文件內(nèi)容。

void fun(char *filename)

{FILE *fp;int i,j;STU s[N],t;fp=fopen(filename,"rb");fread(s,sizeof(STU),N,fp);

fclose(fp);for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if(s[i].sno>s[j]);s[j]=t;}

fp=fopen(filename,"wb");fwrite(s,sizeof(STU),N,fp);fclose(fp);}

226、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到student.dat文件中。函數(shù)fun的功能是從指定文件中找出指定學(xué)號的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對該生的分?jǐn)?shù)進(jìn)行修改,使每門課的分?jǐn)?shù)加3分,修改后重寫文件中該學(xué)生的數(shù)據(jù),即用該學(xué)生的新數(shù)據(jù)覆蓋原數(shù)據(jù),其它學(xué)生數(shù)據(jù)不變,若找不到,則什么都做。

Void fun(char *filename,long sno)

{FILE *fp;STU n;int i;fp=fopen(filename,"rb+");while(!feof(fp)}{fread(&n,sizeof(STU),1,fp);if(n.sno=?=sno)break;}

if(!fcof(fp)){for(i=0;i<3;i++)n.score[i]+=3;fseek(fp,-(long)sizeof(STU),SEEK CUR);fwrite(&n,sizeof(STU),1,fp);}fclose(fp);數(shù)字題


計算機二級C語言上機題庫(六)的評論 (共 條)

分享到微博請遵守國家法律
卓尼县| 平江县| 虞城县| 故城县| 阜平县| 集安市| 海淀区| 武乡县| 鞍山市| 桐庐县| 隆化县| 张家口市| 措美县| 达尔| 新竹市| 石嘴山市| 麟游县| 罗甸县| 盐边县| 犍为县| 遵义县| 新密市| 达尔| 休宁县| 阿巴嘎旗| 武乡县| 黎川县| 榆树市| 米林县| 新宁县| 阜城县| 沙洋县| 桓仁| 鹤山市| 高碑店市| 青州市| 鹤庆县| 伊春市| 陆良县| 四平市| 阳西县|