ImageVerifierCode 换一换
你正在下载:

三级.docx

[预览]
格式:DOCX , 页数:269 ,大小:69.45KB ,
资源ID:26001889      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26001889.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(三级.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

三级.docx

1、三级第01套: 程序PROG1.C的功能是: 计算500800区间内素数的个数cnt,并按所求素数的值从大到小的顺序, 计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数 . 的值sum。请编写函数countValue()实现程序的要求,最后main()函数调用函数writeDAT()把结果cnt和sum,输出到文件OUT.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()和输出数据函数writeDAT()的内容。参考答案:#include int cnt, sum;void writeDAT();int isPrime(int

2、num) int i ; for(i = 2 ; i 500 ; i-) if(isPrime(i) cnt+; j *= -1 ; sum += j * i ; 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) ;第02套: 程序P

3、ROG1.C的功能是:计算出自然数SIX和NINE满足条件SIX + SIX + SIX = NINE + NINE的个数cnt,以及满足此条件所有的SIX与NINE的和SUM。请编写函数countValue()实现程序的要求, 最后main()函数调用函数writeDAT()把结果cnt和sum, 输出到文件OUT.DAT中。 其中的S,I,X,N,E各代表一个十进制数字,允许代表的数字相同,但S和N不能为0。例如:944 + 944 + 944 = 1416 + 1416 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()和输出数据函数writeDAT()的内容。参考答

4、案:#include int cnt, sum ;void writeDAT() ;void countValue() int s, i, x, n, e, six, nine ; for(s = 1 ; s 10 ; s+) for(i = 0 ; i 10 ; i+) for(x = 0 ; x 10 ; x+)TAB for(n = 1 ; n 10 ; n+)TAB for(e = 0 ; e 10 ; e+) TAB six = s * 100 + i * 10 + x ;TAB nine = n * 1000 + i * 100 + n * 10 + e ;TAB if(3 * s

5、ix) = (2 * nine) TAB cnt+ ; sum+= six + nine ;TAB printf(six=%d,nine=%dn, six, nine) ;TAB TAB void main() cnt = sum = 0 ; countValue() ; printf(满足条件的个数=%dn, cnt) ; printf(满足条件所有的SIX与NINE的和=%dn, sum) ; writeDAT() ;void writeDAT() FILE *fp ; fp = fopen(c:testOUT.DAT, w) ; fprintf(fp, %dn%dn, cnt, sum)

6、 ; fclose(fp) ;第03套: 请编写函数void countValue(int *a,int *n),它的功能是: 求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数,其结果按从小到大的顺序放在数组a中,并通过形式参数n传递这些数的个数。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main()和输入输出数据函数writeDAT()的内容。参考答案:#include #include void writeDAT() ;void countValue(int *a, int *n) int i ; *n = 0 ; for(i = 7 ; i

7、= 1000 ; i+) if(i % 7) = 0 | (i % 11) = 0) & (i % 77 != 0) a(*n)+ = i ;main( ) int aa1000, n, k ; countValue( aa, &n ) ; for( k = 0 ; k n ; k+ ) if(k + 1) % 10 = 0) printf(%5dn, aak) ; else printf(%5d, aak) ; writeDAT() ;void writeDAT() int aa1000, n, k ; FILE *fp ; fp = fopen(c:testout.dat, w) ; co

8、untValue(aa, &n) ; for ( k = 0 ; k n ; k+ ) if(k + 1) % 10 = 0) fprintf(fp, %5dn, aak) ; else fprintf(fp, %5d, aak) ; fclose(fp) ;第04套: 已知数据文件IN.DAT中存有300个四位数, 并已调用读函数readDat()把这些数存入数组a中, 请编制一函数jsValue(),其功能是: 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中, 然后对数组b的四位数按从大到小的顺序进行排序。最后main(

9、)函数调用写函数writeDat()把数组b中的数输出到文件OUT.DAT中。 例如: 7153, 7+1 = 5+3, 则该数满足条件存入数组b中, 且个数cnt=cnt+1。 8129, 8+1 != 2+9, 则该数不满足条件忽略。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a300, b300, 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。参考答案:#include int a300, b300, cnt=0 ;void readDat();void writ

10、eDat();jsValue() int i, j, qw, bw, sw, gw, tmp ; for(i = 0 ; i 300 ; i+) qw = ai / 1000 ; bw = (ai - qw * 1000) / 100 ; sw = (ai - qw * 1000 - bw * 100) / 10 ; gw = ai % 10 ; if(qw + bw - sw - gw = 0) bcnt+ = ai ; for(i = 0 ; i cnt ; i+) for(j = i + 1 ; j cnt ; j+) if(bi bj) tmp = bj ; bj = bi ; bi

11、= tmp ; main() int i ; readDat() ; jsValue() ; writeDat() ; printf(cnt=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(b%d=%dn, i, bi) ;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:

12、testout.dat,w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i 0, 则该数满足条件,参加计算平均值pjz1,且个数cnt=cnt+1。 8129, 9-8-1-20, 则该数不满足条件,参加计算平均值pjz2。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a300, 已定义变量: cnt,pjz1,pjz2 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。参考答案:#include int a300, cnt=0 ;double pjz1=0.0,

13、 pjz2=0.0 ;void readDat();void writeDat();jsValue() int i, qw, bw, sw, gw ; for(i = 0 ; i 0) pjz1 += ai ; cnt+ ; else pjz2 += ai ; pjz1 /= cnt ; pjz2 /= (300 - cnt) ;main() int i ; readDat() ; jsValue() ; writeDat() ; printf(cnt=%dn满足条件的平均值pzj1=%7.2lfn不满足条件的平均值pzj2=%7.2lfn, cnt,pjz1,pjz2);void readD

14、at() 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 ; fp = fopen(c:testout.dat,w) ; fprintf(fp, %dn%7.2lfn%7.2lfn, cnt, pjz1, pjz2) ; fclose(fp) ;第06套: 函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数SortCharA( ), 其

15、函数的功能是: 以行为单位对字符按从小到大的顺序进行排序, 排序后的结果仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 例: 原文: dAe,BfC. CCbbAA 结果: ,.ABCdef AACCbb 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。参考答案:#include #include char xx5080 ;unsigned int ma

16、xline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void SortCharA(void) char ch ; unsigned int i, j, k ; for(i = 0 ; i maxline ; i+) for(j = 0 ; j strlen(xxi) ; j+) for(k = j ; k xxik) ch = xxik ; xxik = xxij ; xxij = ch ; void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ;

17、SortCharA() ; 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 ; unsigned int i ; fp = fopen(c:

18、testOUT.DAT, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ;第07套: 函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数StrOR( ), 其函数的功能是: 以该文章中的行为单位依次扫描一行字符串中的小写字母o,每次将小写母o的左右字符串部分作交叉换位,即左边字符串移到小写字母o的右边,而原先右边的则反之, 并把小写母o删除,依次直至这一行中的小写母o处理完,之后把已处理的字符串仍按行重新存入字符串数组

19、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,则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。 原始数据文件存放的格式是: 每

20、行的宽度均小于80个字符, 含标点符号和空格。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。参考答案:#include #include char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void StrOR(void) int i ; char before80, after80, *p ; for(i = 0 ; i maxline ; i+) while(1) p = strc

21、hr(xxi, o) ; if(p != NULL) TAB strcpy(after, xxi + (p - xxi + 1) ;TAB *p = 0 ;TAB strcpy(before, xxi) ;TAB strcpy(xxi, after) ;TAB strcat(xxi, before) ; else break ; void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; StrOR() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; char *p

22、 ; 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, x

23、xi) ; fclose(fp) ;第08套: 函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中; 请编制函数ChA( ), 其函数的功能是: 以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值, 得到第一个新的值, 存入数组单元xxi0中(其中: i是文章中的某行)。第二个字符的ASCII值加第三个字符的ASCII值, 得到第二个新的值,存入数组单元xxi1中。以此类推一直处理到最后第二个字符, 最后一个字符的ASCII值加原第一个字符的ASCII值, 得到最后一个新的值, 存放在原字符串对应的位置上, 之后把已处理的字符串逆

24、转后仍按行重新存入无符号字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到OUT.DAT文件中。 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格, 并也按它的ASCII值作以上处理。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。参考答案:#include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat

25、(void) ;void ChA(void) int i, j ; char yuan ; for(i = 0 ; i maxline ; i+) yuan = xxi0 ; for(j = 0 ; j (int)strlen(xxi) - 1 ; j+) xxij += xxij + 1 ; xxistrlen(xxi) - 1 += yuan ; strrev(xxi) ; void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; ChA() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1