三级C语言复习资料.doc_第1页
三级C语言复习资料.doc_第2页
三级C语言复习资料.doc_第3页
三级C语言复习资料.doc_第4页
三级C语言复习资料.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新视野教育 内部资料 WWW.EOL360.COM 版权所有 翻印必究三级C语言(包括网络技术、数据库技术和信息技术,三种类型上机考试题目相同)上机考试复习资料,共有50套题目 1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列, 若金额相等, 则按产品代码从大到小进行排列, 最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PRO temp, 则可以直接使用结构赋值语句进行解题。 例如: selli = temp ; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。#include #include #include #define MAX 100typedef struct char dm5 ; /* 产品代码 */ char mc11 ; /* 产品名称 */ int dj ; /* 单价 */ int sl ; /* 数量 */ long je ; /* 金额 */ PRO ;PRO sellMAX ;void ReadDat() ;void WriteDat() ;void SortDat()void main() memset(sell, 0, sizeof(sell) ; ReadDat() ; SortDat() ; WriteDat() ;void ReadDat() FILE *fp ; char str80, ch11 ; int i ; fp = fopen(c:testIN.DAT, r) ; for(i = 0 ; i 100 ; i+) fgets(str, 80, fp) ; memcpy(selli.dm, str, 4) ; memcpy(selli.mc, str + 4, 10) ; memcpy(ch, str + 14, 4) ; ch4 = 0 ; selli.dj = atoi(ch) ; memcpy(ch, str + 18, 5) ; ch5 = 0 ; selli.sl = atoi(ch) ; selli.je = (long)selli.dj * selli.sl ; fclose(fp) ;void WriteDat() FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i 100 ; i+) fprintf(fp, %s %s %4d %5d %10ldn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je) ; fclose(fp) ; 2、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中, 请编制一函数jsValue(),其功能是: 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均值pjz2。最后main()函数调用写函数writeDat()把结果cnt,pjz1,pjz2输出到OUT.DAT文件。 例如: 7153,7+1 = 5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 8129,8+1 != 2+9, 则该数不满足条件计算平均值pjz2。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a300, 已定义变量: cnt,pjz1,pjz2 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include int a300, cnt=0 ;double pjz1=0.0, pjz2=0.0 ;void readDat();void writeDat();void jsValue()void main() readDat() ; jsValue() ; writeDat() ; printf(cnt=%dn满足条件的平均值pzj1=%7.2lfn不满足条件的平均值pzj2=%7.2lfn, cnt,pjz1,pjz2);void readDat() FILE *fp ; int i ; fp = fopen(c:testin.dat,r) ; for(i = 0 ; i 300 ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void writeDat() FILE *fp ; int i ; fp = fopen(c:testout.dat,w) ; fprintf(fp, %dn%7.2lfn%7.2lfn, cnt, pjz1, pjz2) ; fclose(fp) ; 3、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 若一个四位数的千位数位置上的值大于等于百位数位置上的值, 百位数位置上的值大于等于十位数位置上的值, 以及十位数位置上的值大于等于个位数位置上的值,并且原四位数是奇数,则统计出满足此条件的个数 cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a200, b200, 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat();void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(c:testin.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ; 4、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列, 若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PRO temp, 则可以直接使用结构赋值语句进行解题;产品名称比较请用函数strcmp进行解题。 例如: selli = temp ; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*新视野教育内部资料 版权所有 翻印必究 WWW.EOL360.COM*#include #include #include #define MAX 100typedef struct char dm5 ; /* 产品代码 */ char mc11 ; /* 产品名称 */ int dj ; /* 单价 */ int sl ; /* 数量 */ long je ; /* 金额 */ PRO ;PRO sellMAX ;void ReadDat() ;void WriteDat() ;void SortDat()void main() memset(sell, 0, sizeof(sell) ; ReadDat() ; SortDat() ; WriteDat() ;void ReadDat() FILE *fp ; char str80, ch11 ; int i ; fp = fopen(c:testIN.DAT, r) ; for(i = 0 ; i 100 ; i+) fgets(str, 80, fp) ; memcpy(selli.dm, str, 4) ; memcpy(selli.mc, str + 4, 10) ; memcpy(ch, str + 14, 4) ; ch4 = 0 ; selli.dj = atoi(ch) ; memcpy(ch, str + 18, 5) ; ch5 = 0 ; selli.sl = atoi(ch) ; selli.je = (long)selli.dj * selli.sl ; fclose(fp) ;void WriteDat() FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i 100 ; i+) fprintf(fp, %s %s %4d %5d %10ldn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je) ; fclose(fp) ; 5、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 替代关系:f(p)=p*13 mod 256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量), 如果计算后f(p)值小于等于32或是偶数, 则该字符不变, 否则用f(p)替代所对应的字符。 注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。#include #include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar()void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; encryptChar() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; unsigned char *p ; if(fp = fopen(c:testin.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ; 6、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是奇数(该四位数以后不满五个数,则不统计), 则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a200, b200, 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat();void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(c:testin.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ; 7、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(), 其功能要求: 按金额从小到大进行排列, 若金额相等, 则按产品代码从小到大进行排列, 最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PRO temp, 则可以直接使用结构赋值语句进行解题。 例如: selli = temp ; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读函数ReadDat()和输出函数WriteDat()的内容。#include #include #include #define MAX 100typedef struct char dm5 ; /* 产品代码 */ char mc11 ; /* 产品名称 */ int dj ; /* 单价 */ int sl ; /* 数量 */ long je ; /* 金额 */ PRO ;PRO sellMAX ;void ReadDat() ;void WriteDat() ;void SortDat()void main() memset(sell, 0, sizeof(sell) ; ReadDat() ; SortDat() ; WriteDat() ;void ReadDat() FILE *fp ; char str80, ch11 ; int i ; fp = fopen(c:testIN.DAT, r) ; for(i = 0 ; i 100 ; i+) fgets(str, 80, fp) ; memcpy(selli.dm, str, 4) ; memcpy(selli.mc, str + 4, 10) ; memcpy(ch, str + 14, 4) ; ch4 = 0 ; selli.dj = atoi(ch) ; memcpy(ch, str + 18, 5) ; ch5 = 0 ; selli.sl = atoi(ch) ; selli.je = (long)selli.dj * selli.sl ; fclose(fp) ;void WriteDat() FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i 100 ; i+) fprintf(fp, %s %s %4d %5d %10ldn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je) ; fclose(fp) ; 8、函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中; 请编制函数ChA( ), 其函数的功能是: 以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值, 得到第一个新的值, 存入数组单元xxi0中(其中: i是文章中的某行)。第二个字符的ASCII值加第三个字符的ASCII值, 得到第二个新的值,存入数组单元xxi1中。以此类推一直处理到最后第二个字符, 最后一个字符的ASCII值加原第一个字符的ASCII值, 得到最后一个新的值, 存放在原字符串对应的位置上, 之后把已处理的字符串逆转后仍按行重新存入无符号字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到OUT.DAT文件中。 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格, 并也按它的ASCII值作以上处理。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。*新视野教育内部资料 版权所有 翻印必究 WWW.EOL360.COM*#include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void ChA(void)void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; ChA() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; char *p ; if(fp = fopen(c:testIN.DAT, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ; 9、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数, 如果该四位数大于该四位数以前的连续五个数且该数是奇数, 且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a200, b200, 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat();void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(c:testin.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ; 10、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中,请编制函数StrCharJL(), 其函数的功能是: 以行为单位把字符串中的所有字符的 ASCII值左移4位二进制位, 低位补0, 如果左移后,其值小于等于32或大于100, 则原字符保持不变,留在原字符串对应的位置上, 否则就把左移后的值再加上原字符的ASCII值, 得到新的值仍存入原字符串对应的位置上,之后把已处理的字符串仍按行重新存入无符号字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读函数ReadDat()和输出函数WriteDat()的内容。#include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void StrCharJL(void) /* 第i行内容已作为字符串存入xxi为起始地址的存储单元内 */ /* 存储中间处理结果的变量定义,应为无符号字符变量 */ /* 例如:tmp = (xxij 4) ; 将字符变量xxij左移4位二进制位,低位补0,并将移位结果存放到tmp变量中。 */ /* 该提示仅供解题参考,考生也可用其他方法解题 */ unsigned char tmp ; void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; StrCharJL() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; char *p ; if(fp = fopen(c:testIN.DAT, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ; 11、程序PROG1.C的功能是:选出1000至5000范围内(包括1000、5000)符合下面条件的四位自然数。条件是: 千位数字与百位数字之和等于十位数字与个位数字之和, 且千位数字与百位数字之和等于个位数字与千位数字之差的正10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求。最后main()函数调用函数 writeDAT()把结果cnt和sum输出到OUT.DAT文件中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )和输出数据函数writeDAT()的内容。#include int cnt, sum ;void writeDAT();void countValue()void main() cnt = sum = 0 ; countValue() ; printf(满足条件的自然数的个数=%dn, cnt) ; printf(满足条件的自然数值的和=%dn, sum) ; writeDAT() ;void writeDAT() FILE *fp ; fp = fopen(c:testOUT.DAT, w) ; fprintf(fp, %dn%dn, cnt, sum) ; fclose(fp) ; 12、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 替代关系:f(p)=p*11 mod 256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量), 如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变, 否则用f(p)替代所对应的字符。 注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。*新视野教育内部资料 版权所有 翻印必究 WWW.EOL360.COM*#include #include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar() /* 第i行文章的内容已作为字符串存入xxi为起始地址的存储单元内 */ /* 请使用中间变量来存放替代关系处理后的值val */ /* 例如: val = (xxij * 11) % 256 ; */ /* 该提示仅供解题参考,考生也可用其他方法解题 */ unsigned int val ;void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; encryptChar() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; unsigned char *p ; if(fp = fopen(c:testin.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ; 13、函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数StrOR( ), 其函数的功能是: 以该文章中的行为单位依次扫描一行字符串中的小写字母o,每次将小写母o的左右字符串部分作交叉换位,即左边字符串移到小写字母o的右边,而原先右边的则反之, 并把小写母o删除,依次直至这一行中的小写母o处理完,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 例如原文: you have the correct record. 第1个o: u have the correct record.y 第2个o: rrect record.yu have the c 第3个o: rd.yu have the crrect rec 提示:对于每一行字符串数组处理有如下一种递归调用算法可供参考: 查找字符串中首个小写字母o的位置;没有找到o,则结束递归调用;找到o,则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include #include char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void StrOR(void)void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; StrOR() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; char *p ; if(fp = fopen(c:testIN.DAT, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(c:testOUT.DAT, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ; 14、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把一个四位数的千位数位置上的值加上个位数位置上的值恰好等于百位数位置上的值加上十位数位置上的值,并且原四位数是奇数, 则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a200, b200, 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat();void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(c:testin.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp ; int i ; fp = fopen(c:testout.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ; 15、函数ReadDat( )实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute( )分别计算出xx中数值为奇数的个数odd, 偶数的个数even,平均值aver以及方差totfc的值, 最后调用函数WriteDat()把结果输出到OUT.DAT文件中。 计算方差的公式如下: 原始数据文件存放的格式是: 每行存放10个数, 并用逗号隔开。(每个数均大于0且小于等于2000) 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()和输出数据函数WriteDat()的内容。#include #include #include #define MAX 1000int xxMAX, odd = 0, e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论