二级c语言上机Chapter_12011年3月最新计算机二级C语言题库(根据等考通最新版本自己整理),存储了学生的学号、姓名和3门课的成绩。。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其他学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!#include<>#defineN5typedefstructstudent{longsno;charname[10];floatscore[3];}STU;voidfun(char*filename,longsno){FILE*fp;STUn;intI;fp=fopen(filename,"rb+");/**********found**********/while(!___1___){fread(&n,sizeof(STU),1,fp);/**********found**********/if()break;}if(!feof(fp)){for(i=0;i<3;i++)[i]+=3;/**********found**********/fseek(fp,1L*___3___,SEEK_CUR);fwrite(&n,sizeof(STU),1,fp);}fclose(fp);}main({STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78},{10004,"FangFang",90,82,87},{10005,"ZhangSan",95,80,88}},ss[N];intI,j;FILE*fp;fp=fopen("","wb");fwrite(t,sizeof(STU),N,fp);fclose(fp);printf("\nTheoriginaldata:\n");fp=fopen("","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);for(j=0;j<N;j++){printf("\nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);for(i=0;i<3;i++)printf("%",ss[j].score[i]);printf("\n");}fun("",10003);fp=fopen("","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);printf("\nThedataaftermodifying:\n");for(j=0;j<N;j++){printf("\nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);for(i=0;i<3;i++)printf("%",ss[j].score[i]);printf("\n");}}【答案】(1)feof(fp)(2)==sno(3)sizeof(STU),函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入252,则输出应该是20;若输入202,则输出应该是0。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include<>longfun(longnum){【答案】(1)将longk;改为:longk=1;或longk;k=1;(2)将num\=10;改为:num/=10;×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),函数的功能是:使N×N的二维数组左下三角元素中的值乘以n。例如:若n的值为3,a数组中的值为:197238456则返回主程序后a数组中的值应为:397698121518注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include<>#include<>#defineN5intfun(inta[][N],intn){}main(){inta[N][N],n,I,j;printf
2012年9月计算机题库二级c语言上机 来自淘豆网www.taodocs.com转载请标明出处.