计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试三级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
问答题下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()从in.dat文件中读取50组数据,分别得出结果,且把结果输出到out.dat文件中。 例如,S字符串中原有的内容为Mn.123Zxy,调用该函数后,结果为No.123Ayz。 注意:部分程序已经给出。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 #include<conio.h> #include<string.h> #include<stdio.h> #include<ctype.h> #define N 81 void readwriteDAT(); void chg(char *s) main() char a[N]; printf("Enter a String:"); gets(a); printf("The original string is:"); puts(a); chg(a); printf("The string after modified:"); puts(a); readwriteDAT(); void readwriteDAT() int i; char a[N]; FILE *rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0; i<50;i++) fscanf(rf,"%s",a); chg(a); fprintf(wf,"%s/n",a); ) fclose(rf); fclose(wf);
进入题库练习
问答题设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下:CREATE TABLE商品表(商品号char(10)PRIMARY KEY,商品名char(20)N0T NULL,销售总量int DEFAULT 0)CREATE TABLE销售表(商品号char(10),销售时间datetime,销售数量int NOT NULL,PRIMARY KEY(商品号,销售时间))FOREIGN KEY(商品号)REFERENCES商品表(商品号))现要创建一个具有如下功能的触发器:每当在销售表中插入一条销售记录时,修改商品表中对应商品的销售总量,假设一次只插入一条销售记录。请补全下列代码。CREATE TRIGGER tri_insert On_____FOR______AS________商品表_______销售总量=______+(SELECT销售数量FROM______)WHERE商品号IN(SELECT商品号FROM Inserted)
进入题库练习
问答题时间序列分析也可以称为数据演变分析,它能描述行为随_______变化的对象的规律或趋势,并对其进行建模。
进入题库练习
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序已经给出。 程序中已定义数组:a[200],b[200];已定义变量:cnt。 请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。 #include <stdio.h> #define MAX 200 int a[MAX],b[MAX],cnt=0; void jsVal() { } void readDat() { int i; FILE *fp; fp=fopen("IN.DAT","r"); for (i=0;i<MAX;i++) fscanf(fp,"%d,", fclose(fp); } void writeDat() { FILE *fp; int i; fp=fopen("OUT.DAT","w"); fprintf(fp,"%d/n",cnt); for (i=0;i<cnt;i++) fprintf(fp,"%d/n",b[i]); fclose(fp); } void main() { int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for (i=0;i<cnt;i++) printf("%d",b[i]); printf("/n"); writeDat(); }
进入题库练习
问答题函数ReadDat()的功能是实现从IN.DAT文件中读取一篇英文文章并存入字符串数组xx中。请编写函数ChA(),其功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推,一直处理到倒数第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符。得到的新字符分别存放在原字符串对应的位置上,最后把已处理的字符串逆转后按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。 注意:部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include<stdio.h> #include<string.h> #include<conio.h> char xx[50][80]; int maxline=0; /*文章的总行数*/ int ReadDat(void); void WriteDat(void); void ChA(void) void main() if(ReadDat()) printf("数据文件IN.DAT不能打开!/n/007"); return; ChA(); WriteDat(); int ReadDat(void) FILE *fp; int i=0; char *p; if((fp=fopen("IN.DAT","r"))==NULL) return 1; while(fgets(xx[i],80,fp)!=NULL) P=strchr(xx[i],'/n'); if(p) *p=0: i++; maxline=i; fclose(fp); return 0; void WriteDat(void) FILE *fp; int i; fp=fopen("OUT.DAT","w"); for(i=0; i<maxline; i++) printf("%s/n",xx[i]); fprintf(fp,"%s/n",xx[i]); fclose(fp);
进入题库练习
问答题已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中。请编写函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数wnteDat(),把结果输出到out.dat文件。 例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-2<0,则该数不满足条件,忽略。 注意:部分源程序已经给出。 程序中已定义数组:a[3001,b[300];已定义变量:cnt。 请勿改动主函数main()、读函数ReadDat()和写函数wnteDat()的内容。 #include<stdio.h> int a[300],b[300],cnt=0; void jsValue() void ReadDat() FILE *fp; int i; fp=fopen("in.dat","r"); for(i=0;i<300;i++) fscanf(fp,"%d,",&a[i]); fclose(fp); void writeDat() FILE *fp; int i; fp=fopen("out.dat","w"); fprintf(fp,"%d/n",cnt); for(i=0; i<cnt;i++) fprintf(fp,"%d/n",b[i]); fclose(fp); mein() int i; ReadDat(); jsValue(); writeDat(); printf("cnt=%d/n",cnt); for(i=0; i<cnt;i++) printf("b[%d]=%d/n",i,b[i]);
进入题库练习
问答题设某信息管理系统在需求分析阶段已经收集到下列信息: 学生信息:学号、姓名、性别、出生日期、所在系号、系名、系办公电话 学生学籍异动信息:学籍异动类型(如因病休学,任村官保留学籍,农村任教保留学籍等)、异动类型说明、异动时间 教材信息:教材号、教材名、使用该教材的课程号、课程名、课程学分 该业务系统存在如下规则: Ⅰ.一个系管理多名学生,每个学生只由一个系管理 Ⅱ.一本教材仅用于一门课程,一门课程可使用多本教材 Ⅲ.一名学生可选修多门课程,一门课程可由多名学生选修 Ⅳ.学生选修的课程要在数据库中记录课程成绩 Ⅴ.一名学生可能会有多条学籍异动信息 ①请根据以上描述信息画出合适的ER图。 ②将ER图转换为满足3NF的关系模式,并标出每个关系模式的主码(用下画线标注)和外码。
进入题库练习
问答题请编写函数countValue(),其功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。 主函数最后调用函数progReadWrite()从in.dat文件中读取10组数据,分别得出结果,且把结果输出到out.dat文件中。 例如:若n为1000时,函数值应为:s=153.909064。 注意:部分程序已经给出。 请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。 #include <conio.h> #include <math.h> #include <stdio.h> double countValue(int n) { } void progReadWrite() { FILE *fp, *wf; int i, n; float s; fp=fopen("in.dat","r"); if(fp==NULL) { printf("数据文件in.dat不存在!"); return; } wf=fopen("out.dat","w"); for(i=0;i<10;i++) { fscanf(fp,"%d,", s=(float)countValue(n); fprintf(wf,"%f/n",s); } fclose(fp); fclose(wf); } main() { printf("1000以内符合条件的自然数之和的平方根=%f/n",countValue(1000)); progReadWrite(); }
进入题库练习
问答题已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中。请编写函数jsValue(),其功能是:求出于位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat(),把结果输出到out.dat文件中。 例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。 8129,8+1<>2+9,则该数不满足条件,忽略。 注意:部分源程序已经给出。 程序中已定义数组:a[300],b[300];已定义变量:cnt。 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 #include <stdio.h> int a[300],b[300],cnt=0; void jsValue() { } void ReadDat() { FILE *fp; int i; fp=fopen("in.dat","r"); for(i=0;i<300;i++) fscanf(fp,"%d,", fclose(fp); } void writeDat() { FIIE *fp; int i; fp=fopen("out.dat","w"); fprintf(fp,"%d/n",cnt); for(i=0;i<cnt;i++) fprintf(fp,"%d/n",b[i]); fclose(fp); } main() { int i; ReadDat(); jsValue(); writeDat(); printf("cnt=%d/n",cnt); for(i=0;i<cnt;i++) printf("b[%d]=%d/n",i,b[i]); }
进入题库练习
问答题函数ReadDat()实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以该文章中的行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件out.dat中。 例如: "z"对应的ASCII值为7AH,二进制值为01111010,右移4位后为00000111,加上原来"z"的ASCII值01111010得到10000001结果。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 #include <stdio.h> #include <string.h> char xx[50] [80]; int maxline=0; /*文章的总行数*/ int ReadDat (void); void WriteDat (void); void StrCharJR(void) { } void main () { if (ReadDat ()) { printf("数据文件in.dat不能打开!/n/007"); return; } StrCharJR (); WriteDat (); } /*从文件in.dat中读取一篇英文文章存入到字符串数组xx中*/ int ReadDat (void) { FILE *fp; int i=0; char *p; if ( (fp=fopen ("in.dat", "r") ) ==NULL) return 1; while(fgets(xx[i],80,fp) != NULL) { p=strchr(xx[i], "/n"); if(p) *p=0; i++; } maxline=i; fclose(fp); return 0; } /*把结果xx输出到文件out.dat中*/ void WriteDat(void) { FILE *fp; int i; fp=fopen("out.dat", "w"); for(i=0; i<maxline; i++) { printf("%s/n", xx[i]); fprintf(fp, "%s/n", xx[i]); } fclose(fp); }
进入题库练习
问答题设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)销售单据明细表(销售单据编号,商品编号,单价,数量) 在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加"付款总金额"属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
进入题库练习
问答题事务是数据库执行的基本单位,如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未执行过,这就是保持数据库处于____________状态。
进入题库练习
问答题已知数据文件IN.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是奇数(该4位数以前不满5个数,则不统计),同时,该数能被7整除,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat(),把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件中。 注意:程序中已定义数组a[200],b[200],已定义变量ant。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【试题程序】 #include < stdio.h > #define MAX 200 int a[MAX], b[MAX], cnt =0; void writeDat(); void jsVal() { } void readDat() { int i; FILE * fp; fp = fopen("IN.DAT", "r"); for(i =0; i <MAX; i ++) fscanf(fp, "%d", fclose(fp); } void main() { int i; readDat(); jsVal(); printf("满足条件的数的个数=%d/n", cnt); for(i=0; i<cnt; i++) printf("%d", b[i]); printf("/n"); writeDat(); } void writeDat() { FILE * fp; int i; fp = fopen ("OUT .DAT", "w") ; fprintf (fp, "%d/n", cnt) ; for(i=0; i<cnt; i++) fprintf(fp, "%d/n", b[i] ); fclose(fp); }
进入题库练习
问答题设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C为课程,P为老师,S为学生,G为成绩,T为时间,R为教室,根据定义有如下的函数依赖集: F={C→G,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R} w的规范程度可高达_______。若将关系模式W分解为3个关系模式 Wl(C,P),W2(S,C,G),W3(S,T,R,C) 则W1的规范化程度最高可达到_______,W2的规范化程度最高可达到_______,W3的规范化程度最高可到达_______。
进入题库练习
问答题函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #include<stdio.h> #include<String.h> #include<conio.h> char xx [50] [80]; int maxline=0;/* 文章的总行数 */ int ReadDat(void); void WriteDat(void); void StrCharJR(void) main() Clrscr(); if(ReadDat()) printf("数据文件IN8.DAT不能打开!/n/007"); return; StrCharJR(); WriteDat ( ); int ReadDat (void) FILE *fp; int i= 0; char *p ; if ( (fp = fopen("IN8.DAT", "r") ) = =NULL) return 1; while(fgets(xx[i] , 80, fp) !-NULL) p = strchr(xx[i], '/n') ; if (p) *p = 0; i++; maxline = i; fclose (fp); return 0; void WriteDat (void) FILE *fp; int i; clrscr (); fp = fopen("OUTS.DAT", "w"); for(i = 0; i < maxline; i++) printf("%s/n", xx[i] ); fprintf(fp, "%s/n", xx[i] ); fclose(fp);
进入题库练习
问答题函数ReadDat()实现从IN.DAT文件中读取一篇英文文章并存入到字符串数组xx中。请编写函数CharConvA(),其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推,一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。 注意:部分源程序已经给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 #include <stdio.h> #include <string.h> #include <conio.h> char xx[50][80]; int maxline=0; /*文章的总行数*/ int ReadDat(void); void WriteDat (void); void CharConvA(void) { } void main() { if (ReadDat()) { printf("数据文件IN.DAT不能打开! /n/007"); return; } CharConvA(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; char *p; if ((fp=fopen("IN.DAT","r"))==NULL) return 1; while (fgets(xx[i],80,fp) !=NULL) { p=strchr(xx[i],'/n'); if(p) i++; } maxline=i; fclose(fp); return 0; } void WriteDat(void) { FILE *fp; int i; fp=fopen("OUT.DAT","w"); for(i=0;i<maxline;i++) { printf("%s/n",xx[i]); fprintf(fp,"%s/n",xx[i]); } fclose(fp); }
进入题库练习
问答题设在SQL Server 2008某数据库中有按如下格式定义的存储过程首部:CREATE PROC P1@x int,@y int,@z int output AS…请补全下列调用该存储过程的语句。DECLARE@S intEXEC P1 20,30,@s_________
进入题库练习
问答题已知在IN.DAT文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编写函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat(),把结果输出到OUT.DAT文件中。 注意:部分程序已经给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define MAX 100 typedef struct char dm[5]; /*产品代码*/ char mc[11]; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/ PRO; PRO sell[MAX]; void ReadDat(); void WriteDat(); void SortDat() void main() memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char Str[80],ch[11]; int i; fp=fopen("IN.DAT","r"); for(i=0;i<100;i++) fgets(str,80,fp); memcpy(sell[i].dm,str,4); memcpy(sell[i].mc,str+4,10); memcpy(ch,str+14,4); ch[4]=0; sell[i].dj=atoi(ch); memcpy(ch,str+18,5); ch[5]=0; sell[i].sl=atoi(ch); sell[i].je=(long)sell[i].dj*sell[i].sl; fclose(fp); void WriteDat() FIL*fp; int i; fp=fopen("OUT.DAT","W"); for(i=0;i<100; i++) printf("%s%s%4d%5d%5d/n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); fprintf(fp,"%s%s%4d%5d%5d/n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); fclose(fp);
进入题库练习
问答题某级数的前两项A1=1,A2=1,以后各项具有如下关系: An=An-2+2An-1 下列程序的功能是:依次对于整数M=100、1000和10000求出对应的n值,使其满足:Sn<M且Sn+1≥M,这里Sn=A1+A2+…+An,并依次把n值存入数组单元b[0]、b[1]和b[2]中。请编写jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。 注意:部分源程序已给出。 请勿改动主函数main()和写函数writeDat()的内容。 #include <stdio.h> int b[3]; void jsValue() { } main() { jsValue(); printf("M=100,n=%d/nM=1000,n=%d/nM=10000,n=%d/n",b[0],b[1],b[2]); writeDat(); } writeDat() { FILE *fp; fp=fopen("out.dat","w"); printf("%d/n%d/n%d/n",b[0],b[1],b[2]); fprintf(fp,"%d/n%d/n%d/n",b[0],b[1],b[2]); fclose(fp); }
进入题库练习
问答题已知在文件IN61.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中,金额=单价×数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入数组sell中。请编制函数SortDat(),其功能要求;按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT61.DAT中。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序; #include<stdio.h> #include<mem.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define MAX 100 typedef struct char dm[5]; char mc[11]; int dj; int sl; long je; PRO; PRO sell [MAX]; void ReadDat ( ); void WriteDat(); void SortDat() void main() memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE *fp; char str[80],ch[11]; int i; fp=fopen("IN61.DAT","r"); for(i=0;i<100;i++) fgets(str, 80,fp); memcpy(sell[i].dm, str,4); memcpy(sell[i].mc,str+4,10); memcpy(ch,str+14, 4); ch[4]=0; sell[i].dj=atoi(ch); memcpy(ch, str+18,5); ch[5]=0; sell[i].sl=atoi(ch); sell[i].je=(long)sell[i].dj*sell[i].sl; fclose(fp); void WriteDat() FILE *fp; int i; fp=fopen("OUT61.DAT","w"); for(i=0;i<100;i++) fprintf(fp,"%s %s %4d %5d %101d/n",sell[i].dm, sell[i].mc, sell [i].dj, sell [i].sl,sell[i].je); fclose(fp);
进入题库练习