全国计算机等级考试三级网络技术上机考试题库100套内容摘要:

fprintf(fp,%s%s%4d%5d%10ld\n, sell[i].dm, sell[i].mc, sell[i].dj, sell[i].sl, sell[i].je)。 } fclose(fp)。 } 9 套 已知在文件 100个 产品销售记录,每个产品销售记录由产品代码 dm(字符型 4位 )、产品名称 mc(字符型 10位 )、单价 dj(整型 )、数量 sl(整型 )、金额 je(长整型 )几部分组成。 其中,金额=单价 数量可计算得出。 函数 ReadDat( )的功能是读取这 100个销售记录并存入数组 sell中。 请编制函数 SortDat( ),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组 sell中,最后调用函数WriteDat( )把结果输出到文件。 注意: 部分源程序已给出。 请勿 改动主函数 main( )、读函数 ReadDat( )和写函数 WriteDat( )的内容。 【试题程序】 include include include include 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(, r); for(i= 0; i100; 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(, w); for(i= 0; i100; i++ ) { fprintf(fp, %s %s %4d %5d %10ld\n, sell[i].dm, sell[i].mc, sell[i].dj,sell[i].sl, sell[i].je); } fclose(fp); } 10 套 已知在文件 100个产品销售记录,每个产品销售记录由产品代码 dm(字符型 4位 )、产品名称 mc(字符型 10位 )、单价 dj(整型 )、数量 sl(整型 )、金额 je(长整型 )几部分组成。 其中,金额=单价 数量可计算得出。 函数 ReadDat( )的功能是读取这 100个销售记录并存入数组 sell中。 请编制函数 SortDat( ),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从小到大进行排列,排列结果仍存入结构数组 sell中,最后调用函数 WriteDat( )把结果输出到文件。 注意: 部分源程序已给出。 请勿 改动主函数 main( )、读函数 ReadDat( )和写函数 WriteDat( )的内容。 【试题程序】 include include include include 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(, r); for(i= 0; i100; 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(, w); for(i= 0; i100; i++ ) { fprintf(fp, %s %s %4d %5d %10ld\n, sell[i].dm, sell[i].mc, sell[i].dj, sell[i].sl,sell[i].je); } fclose(fp); } 11 套 已知数据文件 300个 4位数,并已 调用读函数 readDat()把这些数存入数组 a中。 请编制函数 jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数 t,再把所有满足此条件的 4位数依次存入数组 b中,然后对数组 b的4位数按从小到大的顺序进行排序,最后调用写函数 writeDat()把数组 b中的数输出到。 例如: 6712,6+ 2= 7+ 1,则该数满足条件,存入数组 b中,且个数 t= t+ 1。 8129,8+ 9≠1+ 2,则该数不满足条件,忽略。 注意: 部分源程序已给出。 程序中已定义数 组: a[300], b[300],已定义变量: t。 请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 【试题程序】 include int a[300], b[300], t= 0; void readDat(); void writeDat(); void jsValue() { } void main() { int i; readDat(); jsValue(); writeDat(); printf(t= %d\n, t); for(i= 0; it; i++ ) printf(b[%d]= %d\n, i, b[i]); } void readDat() { FILE *fp; int i; fp = fopen(, r); for(i= 0; i300; i++ ) fscanf(fp, %d, , amp。 a[i]); fclose(fp); } void writeDat() { FILE *fp; int i; fp = fopen(, w); fprintf(fp, %d\n, t); for(i= 0; it; i++ ) fprintf(fp, %d, \n, b[i]); fclose(fp); } 12 套 已知数据文件 200个 4位数,并已调用读函数 readDat()把这些数存入数组 a中,请编制一函数 jsVal( ),其功能是:如果 4位数各位上的数字均是奇数,则统计出满足此条件的个数 t,并把这些 4位数按从大到小的顺序存入数组 b中。 最后调用函数 writeDat()把结果 t及数组 b中符合条件的 4位数输出到。 注意: 部分源程序已给出。 程序中已定义数组: a[200], b[200],已定义变量: t。 请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 【试题程序】 include define MAX 200 int a[MAX], b[MAX], t= 0; void writeDat(); void jsVal() { } void readDat() { int i; FILE *fp; fp= fopen(, r); for(i= 0; iMAX; i++ ) fscanf(fp, %d, amp。 a[i]); fclose(fp); } void main() { int i; readDat(); jsVal(); printf(满足条件的数= %d\n, t); for(i= 0; it; i++ ) printf(%d\n, b[i]); printf(\n); writeDat(); } void writeDat() { FILE *fp; int i; fp= fopen(, w); fprintf(fp, %d\n, t); for(i= 0; it; i++ ) fprintf(fp, %d\n, b[i]); fclose(fp); } 13 套 已知数据文件 300个 4位数,并已调用读函数 readDat()把这些数存入数组 a中,请编制一函数 jsValue(),其功能是:求出千位数上的数加百位 数上的数等于十位数上的数加个位数上的数的个数 t,再把所有满足此条件的 4位数依次存入数组 b中,然后对数组 b的 4位数从大到小进行排序,最后调用写函数 writeDat()把数组 b中的数输出到。 例如: 7153,7+ 1= 5+ 3,则该数满足条件,存入数组 b中,且个数 t= t+ 1。 8129,8+ 1 ≠2+ 9,则该数不满足条件,忽略。 注意: 部分源程序已给出。 程序中已定义数组: a[300], b[300],已定义变量: t。 请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 【试题程序】 include include int a[300], b[300], t= 0; void readDat(); void writeDat(); void jsValue() { } void main() { int i; readDat(); jsValue(); writeDat(); printf(t= %d\n, t); for(i = 0; i t; i++ ) printf(b[%d]= %d\n, i, b[i]); } void readDat() { FILE *fp; int i; fp = fopen(, r); for(i = 0; i 300; i++ ) fscanf(fp, %d, , amp。 a[i]); fclose(fp); } void writeDat() { FILE *fp; int i;。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。