计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试三级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
数据库技术
网络技术
数据库技术
软件测试技术
信息安全技术
嵌入式系统开发技术
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组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,",&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); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0;i<cnt;i++) printf("%d",b[i]); printf("/n"); writeDat();
进入题库练习
问答题请编写函数num(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。 最后调用函数readwriteDat(),从in.dat文件中读取10组数据,分别得出结果,且把结果输出到out.dat文件中。 部分程序已经给出。 例如,若输入17 5,则应输出:19 23 29 31 37。 注意:部分程序已经给出。 请勿改动主函数main()和输出数据函数readwriteDat()的内容。 #include <conio.h> #include <stdio.h> void readwriteDat(); void num(int m,int k,int xx[]) { } main() { int m,n,xx[1000]; printf("/nPlease enter two integers:¨); scanf("%d%d", num(m,n,xx); for(m=0;m<n;m++) printf("%d",xx[m]); printf("/n"); readwriteDat(); } void readwriteDat() { int m,n,xx[1000],i; FILE *rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0;i<10;i++) { fscanf(rf,"%d %d", num(m,n,xx); fprintf(wf,"%d",xx[m]); fprintf(wf,"/n"); } fclose(rf); fclose(wf); }
进入题库练习
问答题设有商品表(商品号,商品名,商品类别),其中商品号为主码,商品名和商品类别不为空。现要统计商品数量最多的前3类商品(包括并列情况),希望列出商品类别和商品数量。请补全下列语句:SELECT_________商品类别,COUNT(*)AS商品数量FROM商品表GROUP BY商品类别ORDER BY COUNT(*)DESC
进入题库练习
问答题某教务管理系统使用SQL Server 2008数据库管理系统,数据库软硬件配置信息如下: Ⅰ.数据库运行在两路Intel Xeon E5-2609 2.4GHz CPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘(RAID 1)的服务器上; Ⅱ.服务器操作系统为Windows 2003 32位企业版,安装SP2补丁; Ⅲ.数据库为SQL Server 2008 Enterprise(32位),数据库中总数据量近130GB。 近—个学期以来,用户反映系统运行缓慢,经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。
进入题库练习
问答题函数ReadDat()实现从文件in.dat中读取1000个十进制整数到数组xx中;请编制函数compute()分别计算出xx中数值为奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat()把结果输出到out.dat文件中。计算方差的公式如下:原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)请勿改动主函数main()和输出数据函数writeDAT()的内容。#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX1000intxx[MAX],odd=0,even=0;doubleaver=0.0,totfc=0.0;voidWriteDat(void);/*从文件in.dat中读取1000个十进制整数到数组xx中*/intReadDat(void){FILE*fp;inti;if((fp=fopen("in.dat","r"))==NULL)return1;for(i=0;i<MAX;i++)fscanf(fp,"%d,",fclose(fp);return0;}voidCompute(void){}voidmain(){inti;for(i=0;i<MAX;i++)xx[i]=0;if(ReadDat()){printf("数据文件in.dat不能打开!\007\n");return;}Compute();printf("ODD=%d\nEVEN=%d\nAVER=%lf\nTOTFc=%lf\n",odd,even,aver,totfc);WriteDat();}/*把结果输出到out.dat文件中*/voidWriteDat(void){FILE*fp;fp=fopen("out.dat","w");fprintf(fp,"%d\n%d\n%lf\n%lfin",odd,even,aver,totfc);fclose(fp);}
进入题库练习
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:若一个四位数的千位上的数字值小于等于百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的数字值小于等于个位上的数字值,并且原四位数是偶数,则统计出满足此条件的个数cnt,并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数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("/n"); writeDat(); }
进入题库练习
问答题数据仓库是一个面向主题、集成的、时变的、非易失的数据集合,支持管理部门的决策过程,数据仓库通过数据转移从多个数据源提取数据,为了解决不同数据源格式上的不统一,需要进行的数据操作是_________。
进入题库练习
问答题已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1.求出该文件中共有多少个正整数totNum;2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果输出到文件out.dat中。 请勿改动数据文件in.dat中的任何数据,主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 #include <stdio.h> #define MAXNUM 200 int xx[MAXNUM]; int totNum=0; //文件in.dat中共有多少个正整数 int totCnt=0; //符合条件的正整数的个数 double totPjz=0.0; //平均值 int ReadDat(void); void WriteDat(void); void CalValue(void) { } void main() { int i; for(i=0; i<MAXNUM; i++) xx[i]=0; if(ReadDat()) { printf("数据文件in.dat不能打开!/007/n""); return; } CalValue(); printf("文件in.dat中共有正整数=%d个/n", totNum); printf("符合条件的正整数的个数=%d个/n", totCnt); printf("平均值=%.2lf/n", totPjz); WriteDat(); } /*读取这若干个正整数并存入数组xx中*/ int ReadDat(void) { FILE *fp; int i=0; if((fp=fopen("in.dat", "r"))==NULL) return 1; while(!feof(fp)) { fscanf(fp, "%d, ", } fclose(fp); return 0; } /*把计算结果存入文件out.dat中*/ void WriteDat(void) { FILE *fp; fp=fopen("out.dat", "w"); fprintf(fp, "%d/n%d/n%.2lf/n", totNum, totCnt, totPjz); fclose(fp); }
进入题库练习
问答题编写函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为”asd asasdfg asd as zx67 asd mklo”,子字符串为”as”,函数返回值为6。 函数ReadWrite()实现从in.dat文件中读取两个字符串,并调用函数findStr(),最后,把结果输出到out.dat文件中。 注意:部分程序已经给出。 请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。 #include<Stdio.h> #include<string.h> #include<conio.h> int findStr(char*Str,char*substr) void ReadWrite() char str[81],substr[10],ch; int n,len,i=0; FILE *rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); while(i<25) fgets(Str,81,rf); fgets(substr,10,rf); len=Strlen(substr)-1; ch=substr[len]; if(ch=='/n'|| ch==0xla) substr[len]=0; n=findStr(Str,substr); fprintf(wf,"%d/n",n); i++; fclose(rf); fclose(wf); main() char Str[81],substr[10]; int n; printf("输入原字符串:"); gets(str); printf("输入子字符串:"); gets(substr); puts(str); puts(substr); n=findStr(Str,substr); printf("n=%d/n",n); ReadWrite();
进入题库练习
问答题函数ReadDat()实现从IN.DAT文件中读取一篇英文文章并存入字符串数组xx中。请编写函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代后,仍存入数组xx的对应位置上,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符为数字0~9,则该字符不变,否则将f(p)所对应的字符进行替代。 原始数据文件存放的格式是:每行的宽度均小于80个字符。 注意:部分程序已经给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include <stdio.h> #include <string.h> #include <conio.h> #include <ctype.h> unsigned char xx[50][80]; int maxline=0; /*文章的总行数*/ int ReadDat(void); void WriteDat(void); void encryptChar() { } void main() { if (ReadDat()) { printf("数据文件IN.DAT不能打开!/n/007"); return; } encryptChar(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; unsigned 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); }
进入题库练习
问答题设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请编写函数Josegh()实现此功能,并调用函数WriteDat(),把结果p输出到OUT.DAT文件中。 设n=100,s=1,m=10。 (1)将1到n个人的序号存入一维数组p中; (2)若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置; (3)重复第(2)步直至圈中只剩下p[1]为止。 注意:部分源程序已经给出。 请勿改动主函数main()和输出数据函数WriteDat()的内容。 #include<stdio.h> #define N 100 #define S 1 #define M 10 int p[100],n,s,m; void WriteDat(void); void Josegh(void) void main() m=M; n=N; s=S; Josegh(); WriteDat(); void WriteDat(void) int i; FILE *fp; fp=fopen("OUT.DAT","w"); for(i=N-1;i>=0;i--) printf("%4d",p[i]); fprintf(fp,"%4d",p[i]); if(i%10==0) printf("/n"); fprintf(fp,"/n"); fclose(fp);
进入题库练习
问答题已知数据文件in.dat中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均值pjz2。最后main()数调用写函数writeDat()把结果cnt,pjz1,pjz2输出到out.dat文件。 例如: 6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 8129,8+9!=1+2,则该数不满足条件计算平均值pjz2。 程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数wnteDat()的内容。 #include <stdio.h> int a[300], cnt=0; double pjz1=0.0, pjz2=0.0; void readDat(); void writeDat(); void jsValue() { } main() { readDat(); jsValue(); writeDat(); printf("cnt=%d/n满足条件的平均值pzj1=%7.2lf/n不满足条件的平均值pzj2=%7.2lf/n", cnt, pjz1, pjz2); } void readDat() { FILE *fp; int i; fp=fopen("in.dat", "r"); for(i=0; i<300; i++) fscanf(fp, "%d,", fclose(fp); } void writeDat() { FILE *fp; fp=fopen("out.dat", "w"); fprintf(fp, "%d/n%7.2lf/n%7.2lf/n", cnt, pjz1, pjz2); fclose(fp); }
进入题库练习
问答题设有学生表(学号,姓名,所在系名)和选课表(学号,课程号,成绩)。现要建立统计每个系选课人数的视图。请补全下列语句:CREATE VIEW V1(系名,人数)ASSELECT所在系名,________FROM选课表JOIN学生表ON选课表.学号=学生表.学号________
进入题库练习
问答题函数ReadDat()实现从IN.DAT文件中读取1000个十进制整数到数组xx中。请编写函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的个数even,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat(),把结果输出到OUT.DAT文件中。计算方差的公式如下:其中:N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。原始数据文件存放的格式是:每行存放10个数(每个数均大于0且小于等于2000),并用逗号隔开。注意:部分源程序已经给出。请勿改动主函数main()、读函数ReadDat()和输出数据函数WriteDat()的内容。#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX1000intxx[MAX],odd=0,even=0;doubleave1=0.0,ave2=0.0,totfc=0.0;voidWriteDat(void);intReadDat(void){FILE*fp;inti,j;if((fp=fopen("IN.DAT","r"))==NULL)return1;for(i=0;i<100;i++){for(j=0;j<10;j++)fscanf(fp,"%d,",fscanf(fp,"/n");if(feof(fp))break;}fclose(fp);return0;}voidCompute(void){}voidmain(){inti;for(i=0;i<MAX;i++)if(ReadDat(){printf("数据文件IN.DAT不能打开!/007/n");return;}Compute();printf("ODD=%d/nEVEN=%d/nAVE1=%f/nAVE2=%f/nTOTFC=%f/n",odd,even,ave1,ave2,totfc);WriteDat();}voidWriteDat(void){FILE*fp;fp=fopen("OUT.DAT","w");fprintf(fp,"%d/n%d/n%f/n%f/n%f/n",odd,even,ave1,ave2,totfc);fclose(fp);}
进入题库练习
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后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,",&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); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0; i<cnt; i++) printf("%d",b[i]); printf("/n"); writeDat();
进入题库练习
问答题已知在文件IN3.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这 100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则:按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。 注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 【试题程序】 #include <stdio.h> #include <memory.h> #include <string.h> #include <conio.h> #include <stdlib.h> #define MAX 100 typedef struet 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("IN3.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; selt [i] .sl=atoi(ch); sell [i] .je=(long)sell [i] .dj*sell [i] .sl; fclose(fp); void WriteDat(void) FILE *fp; int i; fp=fopen("OUT3.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);
进入题库练习
问答题已知数据文件IN1.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件。 注意:部分源程序已给出。 程序中已定义数组:a[200],b[200],已定义变量:cnt。 请勿改动主函数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("IN1.DAT","r"); for(i=0;i<MAX;i++) fscanf(fp,"%d",&a[i]); fclose(fp); void main() int i; readDat(); jsVal(); prinff("满足条件的数=%d/n",cnt); for(i=0;i<cnt;i++) printf("%d/n",b[i]); prinff("/n"); writeDat(); void writeDat() FILE *fp; int i; fp=fopen("out1.dat","w"); fprinff(fp,"%d/n",cnt); for(i=0;i<cnt;i++) fprinff(fp,"%d/n",b[i]); fclose(fp);
进入题库练习
问答题有如下记录教师讲授课程信息的表格: 教师编号 教师姓名 课程编号 课程名称 开课编号 开课时间 开课地点 t1 张明 c1 数据库 k1 2010年春季 理教201 t2 李戈 c1 数据库 k1 2010年春季 理教201 t1 张明 c1 数据库 k2 2011年春季 理教205 t3 王杰 c1 数据库 k2 2011年春季 理教205 t3 王杰 c3 操作系统 k3 2010年秋季 理教408 t3 王杰 c3 操作系统 k4 2012年秋季 理教209 t2 李戈 c3 操作系统 k5 2012年秋季 理教210 试根据表格中内容,画出合适的ER图。 将ER图转换为关系模型,并指明转换后的每个关系模式的主码和外码。
进入题库练习
问答题函数readDat()的功能是从文件IN22.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),该函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT22.DAT中。 条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。 例如,位置 0 1 2 3 4 5 6 7 8 源字符串 a b c d h g f e 2 3 4 9 8 7 6 5 则处理后字符串 h g f e d c b a 8 7 6 5 9 4 3 2 注意:部分程序已给出。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 # inc lude<st dio. h> # inc lude<s t ring. h> # inc lude<conio, h> char xx[20] [80]; void jsSort() { } main () { readDat (); jsSort (); writeDat (); } readDat () { FILE *in; int i=0; char *p; in= fopen("IN22.DAT", "r"); while(i< 20 if(p) *p = 0; i++; } fclose(in); } writeDat () { FILE *out; int i; clrscr (); out = fopen("OUT22.DAT", "w"); for(i = 0; i< 20; i++) { printf("%skn", xx[i]); fprintf(out, "%sin", xx[i]); } fclose(out); }
进入题库练习
问答题对10个候选人进行选举,现有一个存有100条记录的选票文件IN.DAT,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数大于5个人时被视为无效。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编写函数CoutRs(),来统计每个人的选票数并把得票数依次存入yy[0]~yy[9]中,最后调用函数WriteDat(),把结果yy输出到文件OUT.DAT中。 注意:请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 【试题程序】 #include < memory.h > #include < stdio.h > char xx[100] [11] ; int yy[10] ; int ReadDat (void) ; void WriteDat (void) ; void CoutRs (void) { } void main () { int i ; for (i =0;i <10;i ++ ) yy[i] =0; if (ReadDat ()) { printf ("数据文件 IN. DAT 无法打开! /n/007") ; return; } CoutRs () ; WriteDat () ; } int ReadDat (void) { FILE * fp; int i; char tt[13] ; if ( (fp = fopen ("IN .DAT", "r") ) ==NULL) return 1; for (i =0;i <100;i ++ ) { if (fgets (tt, 13, fp) == NULL) return 1 ; memcpy (xx[ i], tt,10 ) ; xx[i][10] =0; } fclose (fp) ; return 0 ; } void WriteDat () { FILE * fp; int i ; fp = fopen ( "OUT. DAT", "w" ) ; for (i =0;i <10;i ++) { fprintf (fp, "%d/n", yy[i] ) ; printf ("第%d,个人的选票数HT =%d/n",i +1,yy[i]); } fclose(fp); }
进入题库练习